package J20250714.demo03; /** * @author WanJl * @version 1.0 * @title TestString * @description * @create 2025/7/14 */ public class TestString { public static void main(String[] args) { String ss1=new String("张三"); String ss2=new String("张三"); //使用==进行比较字符串对象,比较的是对象的地址 System.out.println(ss1==ss2); //都是创建了对象,地址不一样,肯定不是一个对象 String s1="张三"; //其实走的是字符串常量池 String s2="张三";//再定义一个变量的时候, // 会先再常量池里找是否存在这个值,如果有,就直接引用 //System.out.println(s1==s2); char[] arr={'h','e','l','l','o'}; String ss3=new String(arr); System.out.println(ss3); //一般来讲,我们创建了某个对象,或使用Java提供的某个类创建的对象。输出这个对象的时候 //输出的都是这个对象的地址值。 Teacher t=new Teacher(); System.out.println(t); //但是String字符串比较特殊,输出的不是地址值,而是字符串内容。 //因为String类在继承了Java中所有类的祖宗类(Object)类之后,重新了某一个方法。 //使用equals(String s)方法,比较两个字符串的时候,比较的就是字符串内容。 System.out.println(ss1.equals(ss2)); } }