使用 Java Fx,创建搜索过滤器时搜索整数值的最佳方法是什么?

Using Java Fx, what is the best way to search for an integer value when creating a search filter?

我正在尝试向 Javafx gui 添加搜索过滤器。我需要按产品 ID 号进行过滤,并尝试了一系列不同的方法以将其添加到可搜索项目的 if (else) 块中,但均未成功。它目前将搜索文本项以及行号,但不会搜索 id 列值。我看到的文档只引用了字符串值。如有任何提示,我们将不胜感激。


FilteredList<Part>filteredData = new FilteredList<>(allParts,p->true);
        partsSearchBox.textProperty().addListener((observable,oldValue,newValue) -> {
            filteredData.setPredicate(part -> {
                if (newValue == null || newValue.isEmpty()) {
                    return true;
                }

                String lowerCaseFilter = newValue.toLowerCase();

                if (part.getPartName().toLowerCase().contains(lowerCaseFilter)) {
                    return true;
                }
                return false;
            });
        });

        SortedList<Part> sortedData = new SortedList<>(filteredData);
        sortedData.comparatorProperty().bind(partsTableview.comparatorProperty());
        partsTableview.setItems(sortedData);

您可以通过调用 String.valueOf(id) 将整数值用作字符串。

例如:

else if( String.valueOf(part.getId()).toLowerCase().contains(lowerCaseFilter))
    return true;