TestString.java 1.4 KB

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