java – 关于String实例化的最佳实践好奇心
参见英文答案 >
Strings are objects in Java,so why don’t we use ‘new’ to create them?????????????????????????????????????14个
我正在阅读有关java最佳实践的一些建议,我得到了以下想法让我很好奇 此外,无论何时想要实例化String对象,都不要使用其构造函数,而是始终直接实例化它. 例如: //slow instantiation String slow = new String("Yet another string object"); //fast instantiation String fast = "Yet another string object"; 为什么是这样?不是’fast’调用默认的字符串构造函数? 解决方法
当您使用new时,您将获得一个新的字符串对象,但如果您使用字符串文字,那么
see here:
如果你这样做: String a = "foo"; String b = "foo"; 然后a == b是真的! 只有在尚未实现的情况下才会创建字符串. 但是使用new将为每个字符串创建一个不同的对象,将输出false. String a = new String("foo"); String b = new String("foo"); 现在a == b是假的. 因此,在使用文字时,它更容易阅读,并且编译器更容易进行优化.所以..尽可能使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – Oracle驱动程序内存泄漏 – Tomcat
- java – 无法在drools上运行hello world – KieContainer不
- java – 创建联系人列表程序
- java – 错误时自动恢复的HTTP Async Downloader
- java – 为什么不总是增加运算符对chars的工作?
- 使用最新的JRE而不是旧的Java版本,我保证它会工作吗?
- Java 重写(Override)与重载(Overload)
- java – Arrays.asList()的问题
- java – JNI.如何从jobject获取jstring并将其转换为char *
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增