String类

一、API中说Java程序中的所有字符串字面值(如”abc“)都作为此类的实例实现
      其实就是说:程序当中所有的双引号字符串,都是String类的对象,(就算没有new也照样是)
二、字符串的特点:
    1.字符串的内容永不可变。    【重点】
    2.正是因为字符串不可改变,所以字符串时可以共享使用的
    3.字符串效果上是char[ ]字符数组,但是底层原理是Byte[ ]字节数组
一、API中说Java程序中的所有字符串字面值(如”abc“)都作为此类的实例实现
      其实就是说:程序当中所有的双引号字符串,都是String类的对象,(就算没有new也照样是)
二、字符串的特点:
    1.字符串的内容永不可变。    【重点】
    2.正是因为字符串不可改变,所以字符串时可以共享使用的
    3.字符串效果上是char[ ]字符数组,但是底层原理是Byte[ ]字节数组
三、创建字符数组的常见3+1种方式:
    三种构造方法:
        public String( )   :创建一个空白字符串,不含有任何内容
        public String( char[ ] array)   :根据字符数组的内容,来创建对应的字符串
        public String( byte[ ] array)   :根据字节数组的内容,来创建对应的字符串;
    一种直接创建
        String str="Hello";           //右边直接用双引号
四、查看源代码:按住ctrl不松找到想查看的比如(String)可以查看源代码
五、注意:直接写上双引号就是字符串对象。
六、字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中
七、(1) 对于基本类型来说==是进行数值的比较
    对于引用类型来说==是进行地址值的比较
       (2)双引号直接写的字符串就在常量池中,new的不在常量池中
八、==时进行地址值的比较,如果实在是需要字符串的内容比较可以使用两个方法:
    public boolean equals(Object obj):参数可以是任何对象      //System.out.println("hello".equals(str2));      [false]
        备注:1.任何对象都可以使用Object进行接收,只有参数是一个字符串且内容相同的才会给true,否则返回false
                  2.equals方法具有对称性,也就是a.equals(b)=b.equals(a)
                  3.如果比较一个常量一个变量推荐把常量字符串写在前面,因为如果str为null的话就会发生空指针异常
            推荐:”abc“.equals(str1)    不推荐str1.equals(”abc“)
    public boolean equalsIgnoreCase(String str);   忽略大小写,进行内容比较 (只有英文字母区分大小写,其他不区分还是false)          //System.out.println("hello".equalsIgnoreCase(str1));     [true]
九、String当中获取相关的常用方法有:
    public int lenth( )   :获取字符串当中含有的字符个数,拿到字符串长度
    public String concat(String str)    :将当前字符串和参数字符串拼接成为返回值新的字符串
    public char charAt(int index)   :获取指定索引位置的单个字符。(索引从零开始)
    public int indexOf(String str)      :查找参数字符串在本字符串中首次出现的索引位置,如果没有返回-1值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值