java - Java 8 中的新类型转换还是我犯了一个错误?

标签 java casting type-conversion

我在一些与 JavaFX 相关的代码中看到了一种新形式的类型转换。它的奇怪之处在于它的功能类似于类型转换,但我找不到它 under the categories of casting in Java 8 Specifications 。这是一个例子:

    FXMLLoader loader = new FXMLLoader(getClass().getResource("tabs/tabbedWin.fxml"));
    TabbedWinController twc1 = loader.<TabbedWinController>getController();
    TabbedWinController twc2 = (TabbedWinController) loader.getController();

最后两行似乎做同样的工作,但我想知道 twc1 前面的语法是什么意思是?这对我来说是全新的。

如果是类型转换,为什么我不能使用像 int i = <Integer> f; 这样的语句其中 f 是浮点变量?

所以我很想知道它是什么?从什么时候开始它被添加到 Java 中了?我应该/可以/不应该在哪里使用它?

最佳答案

这是为 static 方法指定泛型类型的方式。自从 Java 5 中发布泛型以来,它就已经可用了。

List<String> emptyListOfStrings = Collections.<String> emptyList();

在您的情况下,两种形式都可以正常工作,因为 getController 方法返回指定泛型类型的对象。

参见here进行讨论。

关于java - Java 8 中的新类型转换还是我犯了一个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23135799/

相关文章:

c - 理解下面一行

postgresql - 如何使 VARCHAR 成为 PostgreSQL 中字符串的首选类型?

c++ - 声明具有两种类型的变量 : "int char"

c++ - 如何将十六进制转换为基数为10的字节

swift - 为什么快速转换适用于浮点除法?

java - 如何从另一个线程或进程中提取数据(Android/Java)

java - 加载索引页时调用 Servlet

java - 如何编写单元测试以从 Java Set 中检索项目

java - 如何在 Java 中快速截取屏幕截图?

java - 将对象列表转换为类的类型参数列表