当我运行以下代码
public class Test {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println("testing");
System.out.println(args[0] == "testing");
}
}
使用
java测试测试
在命令行上,它显示以下内容:
测试
测试
假
我的理解是,当比较字符串时,==比较字符串的引用,而不是它们的值。对于以下代码中的两个String,我如何找出它们的引用?
System.out.println(args[0] == "testing");
最佳答案
比较equals()
时可以使用compareTo()
,equalsIgnoreCase()
,Strings
。
如果您要对内存位置执行某项操作,而我不确定为什么要这样做,则仅需要引用。
这违反了Java的目的,如果您要查找的是Java,或者要对内存地址执行操作,则应切换到C。