Java中常见的类
String类的常见用法:
String s = "string";
String concat = s.concat("-"); //拼接
boolean matches = s.matches("[abc]{3,6}"); //判断是否匹配正则
String mm = s.replaceFirst("[abcd]+", "mm"); //替换第一个匹配上的字符
String replace = s.replace("a", "nmnm"); //替换到匹配的字符
String substring = s.substring(1, 3); //分割子字符串
boolean a = s.startsWith("a"); //判断开头字符
String s1 = s.toUpperCase(); //升级字符为大写
一道面试题
String,StringBuffer,StringBuilder的区别?
String是不可变类,被final修饰,要修改的话必须重新生产一个字符串
StringBuilder是可变字符串,可以利用append方法添加子字符串
StringBuffer是线程安全的StringBuilder
//String
public static void main(String[] args) {
//结论: StringBuffer线程安全,StringBuilder拼接速度最快
Test2 obj = new Test2();
ExecutorService pool = Executors.newFixedThreadPool(5);
try {
pool.execute(() -> {
//obj.test1(); //2
//obj.test2(); //0
obj.test3(); //1
});
} finally {
pool.shutdown();
}
}
public void test1(){
long start = System.currentTimeMillis();
String s = "";
for (int i = 0; i < 1000; i++) {
s = s + "-";
}
long end = System.currentTimeMillis();
System.out.println("String使用的时间是: "+(end - start));
}
public void test2(){
long start = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append("-");
}
long end = System.currentTimeMillis();
System.out.println("StringBuilder使用的时间是: "+(end - start));
}
public void test3(){
long start = System.currentTimeMillis();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sb.append("-");
}
long end = System.currentTimeMillis();
System.out.println("StringBuffer使用的时间是: "+(end - start));
}
Java中常见的日期类
首先是Date类:
Date date = new Date(); //记录当前日期
System.out.println(date); //Wed Jan 06 22:37:52 CST 2021
Date类有很多方法:
date.getTime(); //获取当前时间戳
date.getYear(); //获取年份
date.getMonth(); / ...
date.getDay();
date.getHours();
正常情况下Date类的格式对人类是不太友好的,所以我们有了SimpleDateFormat类。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
这个类用来格式化date:
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = simpleDateFormat.format(date);
System.out.println(format); //2021-01-06 22:42:44
当然除了能将Date类型格式化成字符串之外,还可以把字符串格式化成Date数据类型:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = "2021-01-06 22:42:44";
try {
Date parse = simpleDateFormat.parse(date);
System.out.println(date.toString()); //2021-01-06 22:42:44
} catch (ParseException e) {
e.printStackTrace();
}
然后是Calender类:
Date类很多方法已经过时,Calender类相对先进
//通过单例模式获得对象
Calendar instance = Calendar.getInstance();
long timeInMillis = instance.getTimeInMillis();//获取时间戳
System.out.println(timeInMillis); //1609944452233
Calender类的方法也有很多,这里就不一一列举了,可以自己探索
Math类
Math类可以完成一些基本的数学操作
Math.abs(8);//绝对值
Math.max(1,3);//最大值
Math.min(1,3);//最小值
然后就是比较经典的求随机数了,下面这个公式,可以用来计算任意范围内的随机数
Math.random()*((最大值-最小值 + 1)+最小值)
Math.random()方法返回一个double类型的0-1之间的数值
小例子:
求-16 – 16之间的数
int a = (int)Math.random() * ((16 + 16 + 1) - 16);
System.out.println(a);
当然,关于随机数,Java有专门的类来实现:
Random random = new Random();
//0 - 16的随机数
int i = random.nextInt(16);
//10 - 100的随机数
int n = random.nextInt(90) + 10;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/202493.html