相关疑难解决方法(0)

使用字符串的==运算符

下面的代码不应该打印"Bye",因为==运算符用于比较引用,但奇怪的是,仍然会打印"Bye".为什么会这样?我使用Netbeans 6.9.1作为IDE.

public class Test {
    public static void main(String [] args) {
        String test ="Hi";
        if(test=="Hi"){
            System.out.println("Bye");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java string

23
推荐指数
2
解决办法
1170
查看次数

如果==比较Java中的引用,为什么它使用这些字符串评估为true?

正如所述,==运算符比较对象引用以检查它们是否引用堆上的同一对象.如果是这样,我为什么要获得这段代码的"平等"?

public class Salmon {
    public static void main(String[] args) {

        String str1 = "Str1";
        String str2 = "Str1";

        if (str1 == str2) {
            System.out.println("Equal");
        } else {
            System.out.println("Not equal");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java string reference

14
推荐指数
1
解决办法
872
查看次数

与Java中的逻辑运算符的字符串比较

比较两个字符串时,我被告知我们不应该使用逻辑运算符(==).我们应该使用String.equals(String)进行比较.但是,我看到以下代码符合并Hello Friend使用最新的JDK(1.6_23)打印" ".我试着四处寻找,找不到任何参考.从什么时候开始?

public class StringComp{
public static void main(String args[]){
        String s = "hello";
        if(s=="hello"){
                System.out.println("Hello Friend");
        }else{
                System.out.println("No Hello");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java string-comparison

4
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×3

string ×2

reference ×1

string-comparison ×1