小编wim*_*etr的帖子

Java 反射是不好的做法吗?

考虑这段代码:

public void doSearch(ActionEvent event) {
    String query = searchTextField.getText();
    if (query.isEmpty()) {
        data = FXCollections.observableArrayList(dc.getJobCoachRepo().getList());
        usersTableView.setItems(data);
    } else {

        String searchOn = "search" + searchChoiceBox.getValue();
        try {
            Method m = this.getClass().getMethod(searchOn, String.class);
            m.invoke(this, query);
        } catch (Exception e) {

        }
    }
}

public void searchFirstName(String query) {
    data = FXCollections.observableArrayList(dc.getJobCoachRepo().searchFirstName(query));
    usersTableView.setItems(data);

}
...
...
Run Code Online (Sandbox Code Playgroud)

我在这里使用 java 反射来避免 if 构造。选择框用于让用户决定他要搜索什么属性,目前有 6 种可能性。我从其他学生那里得到了一些评论,认为使用反思是“不好的做法”。是这样吗?为什么?

java reflection javafx

7
推荐指数
1
解决办法
1万
查看次数

在MAC上的javafx应用程序上的NPE

这是一个非常烦人的错误 - 应该是 - 已经修复了(我做了一些研究),但问题仍然存在于我的Mac上.

我有一个简单的javaFX应用程序,带有一个按钮,单击时应打印hello world.按钮本身有一些文字.但是,当应用程序运行时,它会出现此错误:

Caused by: java.lang.NullPointerException
at com.sun.javafx.font.MacFontFinder.populateFontFileNameMap(MacFontFinder.java:99)
Run Code Online (Sandbox Code Playgroud)

(完全例外:http://pastebin.com/YdAgMfPs)

怎么能解决这个问题?Mac是最新版本(OS X el capitan)和java.我正在使用netbeans IDE,但也可以在其他IDE上重现,所以我认为问题出在我的机器上

macos fonts javafx

5
推荐指数
1
解决办法
642
查看次数

标签 统计

javafx ×2

fonts ×1

java ×1

macos ×1

reflection ×1