关于String引用数据类型
1.字符串中,两个变量的==指的是虚地址
2.String一旦声明不可改变;赋值进去,原值不会被替代。原值也可能指向其他地址;
4.比较字符串的内容
(1)equals方法
1.需要传参,传String类型的参数 2.有,返回值是boolean类型 3.访问权限public
s.equals(s2);
数组的length是属性,字符串的length是方法。
5.取出指定下标位置的的字符
String s1 = "abcdefg";
System.out.println(s1.charAt(0));
6.
(1)indexof
判断指定字符串是否存在,返回值为字符串在s1的下标; 返回从左到右遇到的第一个匹配的下标;如果不存在,返回-1;
String s1 = "abcdefgabcdaaa";
s1.indexOf('a');
(2)indexOf(String,int)
代表从int位置开始查找,包括当前位置
从后往前找:
s1.lastIndexOf("a",12)
[str:a;fromIndex:12]
7.字符串的截取
关于指定位置:包含起始位置,但不包含终止位置
String str = "abcdefghijklmn";
s = str.substring(1,2);
8.其他方法
转大写 System.out.println(str.toUpperCase());
转小写
System.out.println(str.toLowerCase());
判断是否以xxxx开头
System.out.println(str.startsWith("a",2));
判断是否以xxxx结尾
System.out.println(str.endsWith("F"));
忽略大小写进行比较内容
验证码
System.out.println(str.equalsIgnoreCase(str1));
去掉字符串前后的空格
System.out.println(str1.trim());
根据指定的字符分割,分割之后,分割条件是消失
String [] strings = str2.split(","); System.out.println(Arrays.toString(strings));
9.字符串的替换
oldChar:'e';newChar:'c'
String str = "hello";
(1)System.out.println(str.replace('e', 'c'));
(2)System.out.println(str.replaceAll("l", "i"));
10.字符串和数组的转换
(1)?数组转字符串
int [] arr = new int[]{1,2,3,4,5};
(2)字符串转数组
String str = "abcdefg";
char[] array = str.toCharArray();
(3)转成字节型数组
一般在操作文件的时候常用的IO流
byte[] bytes = str.getBytes();
(4)把int类型转成字符串
1.int i = 10;
String s = String.valueOf(i);
-
int i = 10;
String s = i + "";// null 不推荐使用
11.
自动装箱:把int类型包装成了包装器Integer类型 基本数据类型转换成对应的包装器类型 自动拆箱:把Integer类型转换int类型 包装器类型转换成对应的基本数据类型
Integer i1 = 20; 装箱
int ii = i2; 拆箱
浙公网安备 33010602011771号