java.lang.String类

一、前言

简单了解JDK常用的包和类后,开始学习String类,学习思路:

  1. 了解String类的概念

  2. 掌握String类基本的构造器

  3. 理解创建String对象的底层区别

  4. 掌握String类基本的常用方法

二、String类的概念

String类代表字符串,字符串是常量,他们的值创建之后不能更改。

java.lang.String:

 public final class String
     implements java.io.Serializable,Comparable<String>,CharSequence{
  • final修饰符:类被final修饰符修饰,所以String类不能被继承,也代表不可变的字符序列(这点目前还不能完全理解,先将其写好);

  • Serializable接口:表示字符串是支持序列化的;(据说等到学到IO流的时候即可理解。。)

  • Comparable接口:表示String可以比较大小;

三、String类的构造方法

1.String类常用的构造方法

熟练掌握几种String类常用的构造器,剩余可看API;(先掌握一些基础常用的)

 String str = "hello";
     初始化一个新创建的 String 对象"hello";
 ​
 String s1 = new String(hello);
     new一个String对象"hello";
 ​
 String s1 = new String(char[] a);
     new一个String对象,内容为char[] a;
 ​
 String s1 = new String(char[] a,int startIndex,int count);
     new一个String对象char[] a,从索引startIndex出开始截取,长度为count;

2.创建String对象的两种区别

理解创建String对象后一些基础的底层逻辑

  • 直接赋值方式创建对象

直接赋值方式创建对象是在方法区的常量池

  • 通过构造方法创建字符串对象

通过构造方法创建字符串对象是在堆内存

例:

 public class TestString {
     public static void main(String[] args) {
         String str1 = "Lance";
         String str2 = new String("Lance");
         String str3 = str2; //引用传递,str3直接指向st2的堆内存地址
         String str4 = "Lance";
        
         System.out.println(str1==str2);//false
         System.out.println(str1==str3);//false
         System.out.println(str3==str2);//true
         System.out.println(str1==str4);//true
     }
 }

四、String类的常用方法

熟练掌握一些String类常用的方法,剩余可看API;

1.String的判断功能

 boolean equals(Object obj): 重写的equals方法,比较字符串的内容是否相同
 boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,忽略大小写
 boolean startsWith(String str): 判断字符串对象是否以指定的str开头
 boolean endsWith(String str): 判断字符串对象是否以指定的str结尾

2.String类的获取功能

 int length(): 获取字符串的长度,其实也就是字符个数
 char charAt(int index): 获取指定索引处的字符
 int indexOf(String str): 获取str在字符串对象中第一次出现的索引,输入为首位s的索引值
 String substring(int start): 从start开始截取字符串
 String substring(int start,int end): 从start开始,到end结束截取字符串。包括start,不包括end

3.String的转换功能

 char[] toCharArray(): 把字符串转换为字符数组
 String toLowerCase(): 把字符串转换为小写字符串
 String toUpperCase(): 把字符串转换为大写字符串(使用默认字符集进行编码)
 byte[] getBytes():把字符串转换为字节数组(Arrays.toString()查看)

4.其他常用方法

 String trim(): 去除字符串两端空格
 String[] split(String str): 按照字符串中其有的指定符号分割字符串,存于数组
 String intern():将String对象放入常量池中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值