1String 类是一个特殊的类
一旦初始化就不可以改变,是一个特殊的对象。
String s1="abc";String s2=new String("abc"); 这两句话代表不同的含义
System.out.println(s1==s2) 返回值为false ==比较的是 对应的首地址值
s1.equals(s2) 返回ture;比较内容
2字符串常见操作
位置
s.charAt(int index) 根据位置获取位置上某个字符。
s.indexOf(String s) 根据字符获取该字符串在字符串中位置。
s.indexOf(String str, int fromIndex)
获取指定位置开始,str在字符串中出现的第一次位置。
s.lastindexof(String str,int fromIndex)获取指定位置开始,str在字符串中出现的最后一次位置。
判断
s.contains(); s.startWith(String s1) //Boolean
转换
String(char [] s1) 将字符数组转为字符串
String(char[] value, int offset, int count)
将字符数组中的一部分转成字符串。
s.
toCharArray() 将字符串转化为字符数组
将基本数据类型转成字符串。
s.valueOf(boolean b)
s.repalce("","")替换字符串内字符串
s.substring(int beging) 截取从beging 到末尾
s.substring(int beginIndex, int endIndex)
2 StringBuffer
为了提高字符串的效率,Java就按照面向对象的思想给我们已经封装好了这么一个字符串缓冲区。是字符串缓冲区,是一个容器。字符串的组成原理就是通过该类实现的。
StringBuffer的特点;
1)长度是可以变化的。2 可以直接操作多个数据类型。3.StringBuffer可以对字符串内容进行增删。4 最终会通过toString变成字符串。
S.append( String str) 添加 S.delete(int start, int end)
移除此缓冲区的子字符串中的字符。
S.deleteCharAt(int index)
3 JDK1.5之后出现StringBuilder
StringBuffer 是线程同步的,效率较低,加了锁。
StringBuilder是线程不同步的,适用单线程,用于多线程不安全。单线程情况下,建议使用 StringBuilder可以提高效率,若果需要同步的话可以自己加锁。
int a = Integer.parseInt("123");