JAVA 12

本文介绍了Java中String对象的特点,包括其不可变性、共享性,并详细展示了三种构造方法:空字符串、从字符数组和字节数组创建字符串。此外,还探讨了字符串常量池的概念以及如何通过`equals()`和`equalsIgnoreCase()`方法进行字符串内容比较。同时,提到了在进行对象比较时,`==`操作符比较的是引用的地址值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String01

  • 特点:
    1.字符串的内容永不改变
    2.可以共享使用

  • 三种构造方法:
    public String(); 创建一个空白字符,不含有任何内容
    public String(char[] array); 根据字符数组的内容,来创建对应的字符串
    public String(byte[] array); 根据字节数组的内容,来创建对应的字符串

  • 一种直接创建:
    String str=“你好”;
    */

public class String01 {
    public static void main(String[] args) {
        String str1 = new String();
        System.out.println("第一个字符串是:"+str1);
        System.out.println("---------------------------------------");
        char[] ch={'a','b','c'};
        String str2 = new String(ch);
        System.out.println("第二个字符串是:"+str2);
        System.out.println("----------------------------------------");
        byte[] by={97,98,99};
        String str3 = new String(by);
        System.out.println("第三个字符串是:"+str3);
        System.out.println("-----------------------------------------");
        String str4 = "hello";
        System.out.println("第四个字符串是:"+str4);
    }
}

/*

  • 字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。

  • 对于基本类型来说,==是进行数值比较。

  • 对于引用类型来说,==是进行地址值的比较。
    */

public class String02 {
    public static void main(String[] args) {
    String str1 = "abc";
    String str2 = "abc";
    char[] ch = {'a','b','c'};
    String str3 = new String(ch);
        System.out.println(str1==str2);
        System.out.println(str1==str3);
        System.out.println(str2==str3);
    }
}

在这里插入图片描述


  • ==是进行对象的地址值比较

  • public boolean equals(Object obj);
    任何对象都可以用Object进行接受

  • 如果比较双方一个常量一个变量,推荐把常量字符写在前面
    “abc”.equals(str);

  • public boolean equalsIgnoreCase(String str); 忽略大小写,进行内容比较
    */

public class String03 {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "hello";
        char[] ch = {'a','b','c'};
        String str3 = new String(ch);

        System.out.println(str1.equals(str2));
        System.out.println(str2.equals(str3));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值