string和new string()的区别,以及equals与==的去别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string和new string()的区别,以及equals与==的去别相关的知识,希望对你有一定的参考价值。

import java.util.Scanner;
public class TestScanner
{
    public static void main(String[] args) 
    {   //Java会确保一个字符串常量只有一个拷贝
        String str1="hello";
        String str2="hello";
        //输出true
        System.out.println(" "+(str1==str2));
        //输出true
        System.out.println(" "+str1.equals(str2));

        //S1和S2指向不同的对象  new String() 创建的字符串不是常量,不能在编译期就确定,
        //所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间。

        String S1=new String("hello");
        String S2=new String("hello");
        //输出false
        System.out.println(" "+(S1==S2));
        //输出true
        System.out.println(" "+S1.equals(S2));

       //str3和str4指向同一个对象
        String str3="hello";
        String str4=str3;
        //输出true
        System.out.println(" "+(str3==str4));
        //输出true
        System.out.println(" "+str3.equals(str4));
        

        


    }
}

总结:在比较字符串是否相同的时候尽量使用equals。

以上是关于string和new string()的区别,以及equals与==的去别的主要内容,如果未能解决你的问题,请参考以下文章

java中String问题,String a=new String(""); 和String a=new String();有区别吗

String 和 new String 的区别

String 和 new String 的区别

Javascript中String()和new String()的区别

string和 new string的区别

new[] 和 new string[] 有啥区别? [复制]