String类

最近学习常用类对于String类做了一些总结

String类的基础知识

①String是一个final类,代表的是不可序列化的
②String对象的字符内容是存储在一个字符数组Value[]中
③String实现serializable接口:表示字符串是支持序列化的,实现Comparable接口:表示String可以比较大小的

不可序列化的体现:
>当对字符序列重新赋值时,需要重写指定内存区域赋值,不能使用原有的vlaue值进行赋值
>对于鲜有能的字符串进行拼接的时候
>当调用String中replace()方法修改指定字符和字符串时

④String的创建方式

1.直接赋值 String str = “abc”;
2.new空的字符串 String str = new String();
3.byte数组创建
4.char数组创建
5.使用字符串创建


例题:String s = new String("abc");的方式创建对象时,在内存中创建了几个对象?
       创建了两个对象.一个是在堆空间中new()的结构
       char[]对应的常量池中的数据:"abc";

⑤常用的方法

int length():返回字符串的长度
char charAt(int index):返回索引处的字符
boolean isEmpty():判断字符串是否为空
String toLowerCase():在默认的字符集环境下,将String中的所有的字符串转换为小写
String toUpperCase():在默认的字符集环境下,将String中的所有的字符串转换为大写
String trim(): 返回字符串的副本,忽略前部的空白和尾部的空白
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoroceCase(String anotherString ):与equals方法类似,但是忽略大小写
int CompareTo(String antherString):比较字符串的大小

⑥String与char[]之间的转换

String ------->char[]:调用String的toCharArray()
char[] -------->String:调用String的构造器

⑦String与byte[]之间的转换

String ------->byte[]:调用String的getBytes()
byte[] -------->String:调用String的构造器

⑧String,StringBuffer与StringBuilder的异同?
相同点:底层的源码都使用的是char[]存储的
不同点:String不可变的字符序列;StringBuffer是可变的字符序列,线程是安全的,但是效率相对于StringBuilder比较低;StringBuilder可变的字符序列,线程不安全,效率高.是1.5新增的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值