当我运行以下代码

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。

10-07 12:43
查看更多