java String

方法:

记不住的方法要学会用api来查找熟悉使用
字符串有三个必须掌握的功能:


判断功能:都是boolean类型的
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean contains(String str):判断大字符串中是否包含小字符串
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
boolean isEmpty():判断字符串是否为空。


获取功能:
* int length():获取字符串的长度。
* char charAt(int index):获取指定索引位置的字符
* int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
* 为什么这里是int类型,而不是char类型?
* 原因是:'a'和97其实都可以代表'a'  下面的都是这样的
* int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。
* int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
* int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
* String substring(int start):从指定位置开始截取字符串,默认到末尾。
* String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。


转换功能:
* byte[] getBytes():把字符串转换为字节数组。
* char[] toCharArray():把字符串转换为字符数组。
* static String valueOf(char[] chs):把字符数组转成字符串。
* static String valueOf(int i):把int类型的数据转成字符串。
* 注意:String类的valueOf方法可以把任意类型的数据转成字符串。
* String toLowerCase():把字符串转成小写。
* String toUpperCase():把字符串转成大写。
* String concat(String str):把字符串拼接。
 
String类的其他功能:


替换功能:
* String replace(char old,char new)
* String replace(String old,String new)
 
去除字符串两空格
* String trim()
 
按字典顺序比较两个字符串  
* int compareTo(String str)
* int compareToIgnoreCase(String str)


和Stringbuffer的区别:

后者是可变长度和内容的,前者不是。

Stringbuffer和StringBuilder的区别就是前者是线程安全的效率相对低后者不安全效率高



关于字符串常量池:

所存储的应该是对象的引用而不是对象本身。字符串的eqauls方法重写了API里面的解释是只要 字符串序列(就是说值 比较相等)相同就返回为true

常量池的优缺点:

优点是内存得以减少 使用缺点是cpu占用会提升,但是其实因为常量池的内部实现是用的hashtable所以cpu损失还是很小的


记住字符串一旦被赋值就不会再改变,等于说要么就是引用指向了不同的对象,而且你用一般的手段也无法改变那个对象,因为你操作a,比如subString,split,或者+都会是到一个新的String的引用,而不是改变那个String对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值