包装类
基本数据类型 对应的 包装类
基本数据类型 | 包装类 |
---|---|
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"字符串转换完是true ,其余的都是false
将十进制数字转换为十六进制
String str = Intrger.toHexString(十进制);
整数缓冲区
取值范围:
-128 ~ 127
概念:
因为jdk中存在-128 ~ 127 之间的对象,所以在自动装箱的过程中
如果被装箱的数据在此范围内,那么直接将jdk中创建的对象之间的赋值给栈中的引用,所以为true
否则,会重新创建包装类的对象,此时就是为false
字符串 * 重点
不可变字符串
常用方法:
1.判断字符串是否一致
语法:
boolean boolean = 变量名.equals(字符串 或 变量名);
注意:
String 类中重写Object的方法
2.获取子字符串第一次出现的位置
语法:
int 变量名 = 变量名.indexOf(子字符串);
注意:
若没有找到,则返回 -1;
3.获取子字符串最后一次出现的位置
语法:
int 变量名 = 变量名.lastIndexOf(子字符串);
注意:
若没有找到,则返回 -1;
4.判断字符串以什么开头
语法:
boolean 变量名 = 变量名.startsWith(字符串);
注意:
==变量名就是父字符串的变量名==
5.判断字符串以什么结尾
语法:
boolean 变量名 = 变量名.endsWith(字符串);
注意:
返回值类型 布尔
可以判断上传文件的类型是否匹配
6.获取字符串的长度
语法:
int 变量名 = 字符串.length();
7.以某个字符为分割点,分割字符串
语法:
String[] 变量名 = 变量名.split(字符串);
注意:
分割后的数组中不包会含分割分割点中的数据
8.获取字符串中某个位置的字符
语法:
char 变量名 = 变量名.charAt(位置下标);
注意:
返回的类型是字符型
9.判断字符中是否有字串
语法:
boolean 变量名 = 变量名.contains(字串);
10.替换字符串中的内容
语法:
String 变量名 = 变量名.replace(被替换的字符,新字符串);
注意:
替换后,原来的数据保持不变
11.将字符串中的字母全部转换成大写
语法:
String 变量名 = 变量名.toUpperCase();
12.将字符串中所有字母全部转换成小写
语法;
String 变量名 = 变量名.toLow
13.将字符串中首尾的空格删除
语法:
String 变量名 = 变量名.trim();
注意:
不能去除中间的空格
14.忽略大小写比较字符串是否相等
语法:
boolean 变量名 = 变量名.equalsIgnoreCase(字符串);
15.将字符串转换为字符数组
语法:
char[] 变量名 = 变量名.toCharArray();
16.截取固定位置的字符串
语法:
String 变量名 = 变量名.subString(开始位置, 结束位置);
注意:
[开始位置能取到,结束位置取不到)
即 左闭 右开的区间
17.判断字符串是否为空
语法:
boolean 变量名 = 变量名.isEmpty();
可变字符串
StringBuffer
注意:
线程安全的
StringBuilder
注意:
线程不安全 的
注意:在大量操作字符串的时候,可变字符串执行时间短,执行效率高,占据内存少
精准计算
引用:
在利用double 计算数据的时候,可能会出现精度损失的问题
关键字:
BigDecimal
注意:
对象传入的时候,参数必须是字符串
使用:
BigDecimal num1 = new BigDecimal(参数);
BigDecimal num2 = new BigDecimal(参数);
//加法
BigDecimal 变量名 = num1.add(num2);
//减法
BigDecimal 变量名 = num1.substract(num2);
//乘法
BigDecimal 变量名 = num1.multiply(num2);
//除法
BigDecimal 变量名 = num1.divide(num2);
时间相关
Date
Calendar
SimpleDateFormat (核心)
/**
y:年
M:月
d:当月的第多少天
h:12小时制
H:24小时制
m:分
s:秒
*/
Date date2 = new Date();
long time = date2.getTime();
System.out.println(time);
Calendar instance = Calendar.getInstance();
Date time2 = instance.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年 MM 月 dd 日 HH : mm : ss");
String format = simpleDateFormat.format(time2);
System.out.println(format);
try {
Date parse = simpleDateFormat.parse(format);
System.out.println(parse);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}