Java 字符串m=";的初始化差异&引用;字符串m=null;
提出这个问题的主要原因是,不同语言对字符串的理解存在着特殊的差异。我来自C++背景,现在工作在java中,其中字符串是不可变的。所以我想知道它们之间的区别Java 字符串m=";的初始化差异&引用;字符串m=null;,java,string,Java,String,提出这个问题的主要原因是,不同语言对字符串的理解存在着特殊的差异。我来自C++背景,现在工作在java中,其中字符串是不可变的。所以我想知道它们之间的区别 String m = "" ; 及 我想知道m的指针是否指向java中的内存位置 String m = null ; 不引用对象 String m = "" ; 引用一个对象 当您将其初始化为“”时,您正在为字符串赋值。但是,当您将其初始化为null时,它实际上只指向null。最后,字符串方法可以在第一个(equals、length、r
String m = "" ;
及
我想知道m的指针是否指向java中的内存位置
String m = null ;
不引用对象
String m = "" ;
引用一个对象 当您将其初始化为“”时,您正在为字符串赋值。但是,当您将其初始化为null时,它实际上只指向null。最后,字符串方法可以在第一个(equals、length、replaceAll等)上使用,而不能在第二个上使用。第一个方法将
string
对象指定给m
。第二个不是。所以“”是空对象?空字符串仍然是字符串。为了避免混淆,我将按OP的顺序排列。已编辑。谢谢
String m = "" ;