java - 在java中使用字符串初始化的运行时差异是什么?

标签 java performance

我需要知道java中使用运行时初始化String的区别。

例如:

String declare = null;

否则:

String declare = "";

我声明了字符串的两种类型的声明。哪一个最适合运行时声明。

最佳答案

字符串是一个对象。如果将其初始化为 null,则告诉编译器您知道该变量尚未初始化,并且当您第一次尝试使用该变量时不应该出现任何警告。除此之外,当然,您指向 null 的引用。

但是,如果将字符串初始化为空字符串,则会发生以下情况:

  • 现在已经分配了一个 String 对象
  • 编译器会将字符串文字放入字符串池
  • 您初始化为“”的任何其他字符串都将指向该池中的同一个不可变字符串

所以,问题是,如何处理代码中的空值或空字符串?这应该指导您的决定

关于java - 在java中使用字符串初始化的运行时差异是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243572/

相关文章:

java - 将 Runtime.exec() 与 String [ ] 一起使用

java - 这两种算法中哪一种更有效?

java - 如何使用控制台运行 jnlp 应用程序?

c++ - 表现。寻找子串。 substr 与查找

MYSQL avg time in where 子句

c++ - 使用黑名单边缘提升过滤图

performance - 最快的 OpenCV 2 OpenGL 上下文

java - JAAS 和 JAAP 有什么区别?

java - 如何使用 Java 代码启动 Tomcat 服务器?

java - 与 <?>,<? 混淆扩展对象>,<? java泛型中的 super 对象>