Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Class.cast()与普通cast相比的效率如何?_Java_Casting - Fatal编程技术网

Java Class.cast()与普通cast相比的效率如何?

Java Class.cast()与普通cast相比的效率如何?,java,casting,Java,Casting,我正在处理一个泛型类,我想使用class.cast()进行一些强制转换,以避免那些讨厌的未检查强制转换警告或方法上的@SupersSwarning注释 我认为Class.cast()应该与直接转换基本相同。但与所有反射方法一样,情况可能并非如此。有人知道他们之间的确切区别吗 我建议尽可能在@SuppressWarnings上使用Class.cast() 在这里,不要在意性能。如果您有性能问题,请分析您的应用程序,如果这成为一个热点,我会非常惊讶。请看我同意您对所有这些警告的看法,但我要消除这些问

我正在处理一个泛型类,我想使用class.cast()进行一些强制转换,以避免那些讨厌的未检查强制转换警告或方法上的@SupersSwarning注释


我认为Class.cast()应该与直接转换基本相同。但与所有反射方法一样,情况可能并非如此。有人知道他们之间的确切区别吗

我建议尽可能在@SuppressWarnings上使用Class.cast()


在这里,不要在意性能。如果您有性能问题,请分析您的应用程序,如果这成为一个热点,我会非常惊讶。

请看我同意您对所有这些警告的看法,但我要消除这些问题的方法只是让Eclipse编译器在项目级别忽略它们。您可能想看看:您可以尝试“技巧”为了避免未经检查的强制转换警告,但使用诸如
Class.cast()
之类的构造不会使强制转换更安全。您仍然可以在运行时获得
ClassCastException
s。因此,您可能会由此产生错误的安全感。@Jesper希望如果我的类实现正确,ClassCastException将永远不会发生。我之所以执行这些强制转换,是因为像类这样的外部集合不是泛型的。到目前为止,从回复来看,唯一的区别似乎是虚拟方法调用(这是可以接受的)和一些无法完成的静态优化(这也是可以接受的),因为它是设计用于泛型的,我想在我的例子中使用它应该是可以的。