我使用遗留库并需要使用将对象转换为集合。 为了避免异常,我想使用instanceof。 所以问题二: 1.如果我使用instanceof - 需要使用try .. catch抛出异常以避免异常? 2.它是否达到性能? 谢谢。使用instanceof帮助和java cast类型异常是否会影响性能?
0
A
回答
5
如果使用
instanceOf
那么你不需要try-catch(ClasscastException e)
。即使有null
s,instanceOf
也能保证正常工作。在当今的虚拟机中,铸造不会显示出任何可衡量的性能影响。相反,如果您发现过于频繁投掷,那么请重新访问您的设计。
注意:instanceof
由于类型擦除而不适用于泛型。
1
Instanceof对现代JVM中的性能没有影响,任何影响都可以忽略不计。
这里的an article on this subject与一些数字!
1
有时,在运行时知道对象的类型是很有用的,特别是在投射时。在Java中,无效转换会导致运行时错误。编译时会捕捉到许多无效的转换。但是,涉及类层次结构的强制转换可能会产生只能在运行时才能检测到的无效强制转换。 Java提供运行时操作员instanceof来回答这个问题。它没有任何例外。 现代JVM/JIC编译器已删除的大部分性能损失传统的“慢”业务,其中包括的instanceof,异常处理,反射等
因此去的instanceof没有任何担心,但是你不能在收藏中使用它们,他们不在那里工作。 java generics and instanceof
相关问题
- 1. 变量是否会影响性能?
- 2. $(this)是否会影响性能,如$([selector])?
- 3. java:组合instanceof和cast?
- 4. Java中较弱/较不特定的类型是否会影响性能?
- 5. Hows是否会影响性能?
- 6. Java异常帮助
- 7. 调用空类方法是否会影响性能?
- 8. 在Java中使用泛型会影响性能吗?
- 9. 检查java上的列表是否为空会影响性能?
- 10. Java Visual VM是否会影响受监控的JVM的性能?
- 11. 使用'Commit Retaining'是否会影响Firebird性能?
- 12. 加载不使用的.php文件是否会影响性能?
- 13. 是否重复使用Android Shared Preference存储会影响性能?
- 14. 在生产中使用ActionCable时,性能是否会影响?
- 15. 使用多个nib文件是否会影响性能?
- 16. 主键数据类型是否影响性能? SQL Server 2008
- 17. Windows性能计数器是否会影响性能?
- 18. 缩小catch块的类型是否有性能影响?
- 19. SQL中的隐式数据类型转换是否会影响性能?
- 20. 为什么异常类型会影响和不会编译的内容?
- 21. 使用jaxb XMLAdapter会影响性能吗?
- 22. 实体上的Blob属性是否会影响查询性能?
- 23. 未使用的导入和对象是否会对性能产生影响
- 24. 异常的生命周期是否受其他异常影响?
- 25. 向所有类中添加[DataContract]和[DataMember]是否会影响性能
- 26. NSClassFromString会影响性能吗?
- 27. 在函数内调用require时是否会影响性能?
- 28. JAR文件的大小是否会影响JVM的性能?
- 29. CreateThread是否会影响VirtualAlloc的使用?
- 30. java class cast异常错误
instanceof和cast的性能非常好。我发布了一些Java7中的时间围绕这个问题的不同方法:http://stackoverflow.com/questions/16320014/java-optimization-nitpick-is-it-faster-to-cast-something-and-let-it-it-投掷excep/28858680#28858680 – Wheezil