包装类
分类
基本数据类型 | 对应的引用数据类型 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | character |
自动装箱与拆箱
自动装箱:将基本数据类型转化为对应的包装类对象
自动拆箱:将包装类对象转化为基本数据类型
将字符串转化为数字
转化为整数
int 变量名 = Integer.parseInt(要转化的字符串)
参数:需要转化的字符串变量名或值
注意:要转化的字符串必须是整形字符串
转化为小数
double 变量名 = Double.parseDouble(要转化的字符串)
参数:需要转化的字符串变量名或值
注意:要转化的字符串必须是纯数字组成的字符串
转化为布尔
boolean 变量名 = Boolean.parseBoolean(要转化的字符串)
参数:需要转化的字符串变量名或值
注意:除了true字符串以外,其他都是false
将十进制数转化为十六进制的字符
string 变量名 = Integer.toHexString(十进制数);
整数缓冲区
取值范围:-128~127
因为jdk中存在-128~127的对象,所以在自动装箱时,
如果被装箱的数在此范围内,则直接将jdk中创建的对象赋值给栈中的引用(变量名),所以为true;
如果超过这个范围就需要重新创建包装类对象,所以判断为false
字符串*
不可变字符串:String
常用方法:
判断字符串内容是否相同:
1 boolean 变量名 = 字符串1.equals(字符串2)
2 注意:String类中需要重写Object方法
忽略大小写比较字符串内容相同
1 boolean 变量名 = 字符串1.equalsgnoreCase(字符串2)
将字符串转化为数组
1 char[] 数组名 = 字符串.toCharArray();
2 for(char 变量名 :数组名){
3 System.out.println(变量名);
4 }
获取字符串长度
1 int 变量名 = 字符串.length();
获取字符串中指定位置的字符
1 char 变量名 = 字符串.length();
2 参数:需要获取的字符下标
判断字符串以什么结束
1 boolean 变量名 = 字符串.endsWith();
2 参数:该字符串是否以此参数(子字符)结束,是为true,否则为false
判断字符串以什么开始
1 boolean 变量名 = 字符串.startsWith();
2 参数:该字符串是否以此参数(子字符)开始,是为true,否则为false
获取子字符串在字符串中第一次出现的位置
1 int 变量名 = 字符串.IndeOf();
2 参数:子字符串
3 注意:如果子字符串存在,返回子字符串第一次出现的位置,如果不存在,返回-1
获取子字符串在字符串中最后一次出现的位置
1 int 变量名 = 字符串.lastIndeOf();
2 参数:子字符串
3 注意:如果子字符串存在,返回子字符串第一次出现的位置,如果不存在,返回-1
判断字符串是否为空字符串
1 boolean 变量名 = 字符串.isEmpty();
2 注意:为空返回true,不为空则返回false
3 注意:
4 " " 空格字符串
5 "" 空字符串
忽略前后的空白
1
将字符串转化为全大写
1 String 变量名 = 字符串.toUpperCase();
将字符串转化为全小写
1 String 变量名 = 字符串.toLowerCase();
替换
1 String 变量名 = 字符串.replace(参1,参2);
2 参1:要被替换的字符串
3 参2:替换后的字符串
切割
1 String[] 变量名 = 字符串.split();
2 for(String x : 变量名){
3 System.out.println(x) ;
4 }
5 参数:以什么字符切割(必须是子字符串)
截取
1 String 变量名 = 字符串.substring(参数1,参数2);
2 参数1:截取开始位置
3 参数2:截取结束位置
4 注意:前闭后开
判断字符串是否存在
1 boolean 变量名 = 字符串.contains();
2 参数:子字符串
3 若存在为true,不存在为false
可变字符串
线程安全的:StringBuffer
线程不安全的:StringBuilder
特有方法: append:追加到尾部