String类
- String是一个引用类型,其本身就是一个class,但String不能被继承,原因是String类的的定义是final类.
- 字符串比较需要用equals,==比较的是引用,虽然java在编译时会将相同的字符串当做一个对象放入常量池,此时字符串的引用相同,但要比较字符串必须总是调用equals方法.
- String常用方法
contains(String s);//是否包含子字符串s
indexOf(String s);//返回子字符串s第一次出现的位置下标
lastIndextOf(String s);//返回子字符串s最后一次出现的位置下标
starsWith(String s);//否以字符串s开始
endWith(String s);//否以字符串s结束
substring(int s);//提取从下标先开始的子字符串
substring(int start, int end);//提取从下标start开始到end-1的子字符串
trim();//去除首尾空格
strip();//去除首尾空格但类似中文的空格\u3000也会被移除
isEmpty();//判断字符串是否为空
isBlank();//判断字符串是否为空白字符串
replace(char a,char b);//将所有的字符a换成b
replace(String a,String b);//将所有子字符串a换成b
split(String regex);//以正则表达式regex为分隔符分割字符串
join(String s,String[] arr);//用指定的字符串连接指定的字符串数组
formatted();//格式化字符串
format();//格式化字符串- 类型装换
- 将基本类型或引用类型转换为字符串,调用String的静态方法valueOf
- 将字符串转换为其他类型,调用相应类型的类方法,如Integer.parseInt(“1234”);
- 转换为char数组,调用方法toCharArray();
StringBuilder与StringBuffer类
StringBuilder是一个可变对象,可预分配缓冲区,可高效拼接字符串,调用append()方法进行拼接,StringBuilder还可以进行链式操作,因为其append方法会返回实例本身.
StringBuffer是StringBuilder早期的一个线程安全版本,可以保证多个线程操作StringBuffer也是安全的,但是也相应的带来效率变低
Math类
- Math类主要用来进行数学计算,它提供了大量的静态方法让我们用来实现数学计算
- 常用方法
abs(-7);//求绝对值
max(a,b);//取最大值
min(a,b);//取最小值
pow(a,b);//计算a的b次方
sqrt(a);//计算根号a
exp(a);//计算e的a次方
log(a);//计算以e为底的对数
log10(a);//计算以10为底的对数
//三角函数
sin(a);
cos(a);
tan(a);
asin(a);
acos(a);
//数学常量
Math.PI;
Math.E;
Math.random();//获取一个0~1的随机数Random类
- Random用来创建随机数,伪随机数是指只要给定一个初始的种子,产生的随机数序列是完全一样的
- 用法如下
Random ran=new Random();
ran.nextInt();//生成一个随机的int值
ran.nextInt(20);//生成一个0~20之间的随机int值
ran.nextLong();//生成一个随机的long值
ran.nextFloat();//生成一个0~1之间的float值
ran.nextDouble();//生成一个0~1之间的double值SecureRandom类
- SecureRandom无法指定种子,SecureRandom使用RNG算法(random number generator),SecureRandom通过操作系统提供的安全的随机种子来生成随机数.因而SecureRandom生成的随机数更安全
- 使用例子如下
import java.util.Arrays;
import java.security.SecureRandom;
import java.security.NoSuchAlgorithmException;
public class Main {
public static void main(String[] args) {
SecureRandom sr = null;
try {
sr = SecureRandom.getInstanceStrong(); // 获取高强度安全随机数生成器
} catch (NoSuchAlgorithmException e) {
sr = new SecureRandom(); // 获取普通的安全随机数生成器
}
byte[] buffer = new byte[16];
sr.nextBytes(buffer); // 用安全随机数填充buffer
System.out.println(Arrays.toString(buffer));
}
}
















