【发布时间】:2013-07-08 14:10:26
【问题描述】:
我想知道为什么在下面的代码中:
String args0 = args[0];
String args1 = args[1];
args0.intern();
args1.intern();
if (args0==args1){
System.out.println("Success");
} else {
System.out.println("Failure");
}
通过作为行命令参数传递 2 个相同的字符串,它会返回 failure。
提前致谢。
【问题讨论】:
-
作为
String不可变的,您不需要分配实例intern()返回以引用实习实例吗?args0和args1仍然是数组中原始的不同实例。 -
关于 String.intern 的有用信息:stackoverflow.com/questions/1091045/…
-
@XaviLópez 是的,你是对的,忘记输入了。现在改正
-
@Rollerball 您的编辑没有帮助,因为代码有效,但您的问题说无效。