本文共 2538 字,大约阅读时间需要 8 分钟。
1.1String在java中是一个类,String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。
2.2字符串是常量;值在创建之后不能更改。String 对象是不可变的,这里的不可变是"abc"这个字符串一旦定义,“abc"就不可改变,不能在后面加"d”,变成"abcd",等后面我发布另一篇文章学习怎么才能对定义的字符进行改变。
先来第一类
byte[] arr1 = {97,98,99};//通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。String s2 = new String(arr1); //解码-计算机看得懂转为我们看懂的 97->a 98->b 99->c System.out.println(s2);//结果为 abc
byte[] arr2 = {97,98,99,100,101,102,103};String s3 = new String(arr2,2,3); //2代表的从索引2开始,3代表长度。 System.out.println(s3); //结果:cde
char[] arr3 = {'a','b','c'}; String s4 = new String(arr3);System.out.println(s4); //结果:abc
char[] arr4 ={'a','b','c','d','e'};String s5 = new String(arr4,2,3);System.out.println(s5); //结果:cde
String s6 = new String("abc");
看到这很多朋友可能想为啥不直接String str = ”abc“;这不更方便吗?
它们在底层其实是有区别的,在不同条件下,用不同方法。* boolean equals(Object obj) //比较字符串内容是否相同,区分大小写 //例:s1.equals(s2) s1和s2为字符串* boolean equalsIgnoreCase(String str) //比较字符串内容是否相同,忽略大小写* boolean contains(String str) //判断字符串是否包含小字符串* boolean stareWith(String str) //判断字符串是否以某个指定字符串开头* boolean endsWith(String str) //判断字符串是否以某个指定字符串结尾* boolean isEmpty() //判断字符串是否为空* ""(空字符串)和null的区别* ""(空字符串)是字符串对象,null不能调用任何方法,用这个方法会出错。
* int length() //获取字符串长度* char cahrAt(int index) //获取指定索引位置的字符* int indexOf(int ch) //返回指定字符在此字符串中第一次出现处的索引* 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) //从指定位置开始,指定位置结束。截取字符串
* bytr[] getBytes(); //使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。//列子:byte[] b = s1.getBytes();* cahr[] toCharArray; //将字符串转化为新的字符数组* static String valueOf(char[] chs) //把字符数组转化为字符串,封装了String的一个构造方法* static String valueOf(int i) //把int类型的数据转化为字符串 //valueOf可以把任意类型的数据转成字符串* String toLowerCase() //字符串转成小写*String toUppererCase() //字符串转成大写*String concat(String str) //字符串拼接 //列子:String s3 = s1.concat(s2);
转载地址:http://rqugf.baihongyu.com/