1234567891011121314151617181920212223242526272829303132333435363738 |
- 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));
- }
- }
|