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();有区别吗