以下是“20个非常实用的Java程序代码片段”的完整攻略:
1. 倒序输出字符串
可以使用StringBuilder的reverse()方法,将字符串倒序输出:
String str = "hello world";
String reversedStr = new StringBuilder(str).reverse().toString();
System.out.println(reversedStr);
输出结果为:dlrow olleh
2. 遍历数组
使用for循环遍历数组:
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
输出结果为:1 2 3 4 5
3. 将字符串转为数字
使用Integer.parseInt()方法,将字符串转为数字:
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);
输出结果为:123
4. 获取当前时间
使用System.currentTimeMillis()方法,获取当前时间戳:
long currentTime = System.currentTimeMillis();
System.out.println(currentTime);
输出结果为:当前时间戳
5. 获取指定日期的时间戳
使用SimpleDateFormat和Date类,将指定字符串日期解析为Date对象,并获取其时间戳:
String dateStr = "2022-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateStr);
long timestamp = date.getTime();
System.out.println(timestamp);
输出结果为:指定日期的时间戳
6. 获取当前日期
使用SimpleDateFormat和Calendar类,获取当前日期:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
String currentDate = sdf.format(calendar.getTime());
System.out.println(currentDate);
输出结果为:当前日期
7. 比较日期大小
使用SimpleDateFormat和Date类,将两个日期字符串解析为Date对象,并比较其大小:
String dateStr1 = "2022-01-01";
String dateStr2 = "2022-01-02";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);
int compareResult = date1.compareTo(date2);
System.out.println(compareResult);
输出结果为:-1
8. 判断字符串是否为数字
使用正则表达式,判断字符串是否为数字:
String str = "123";
boolean isDigit = str.matches("\\d+");
System.out.println(isDigit);
输出结果为:true
9. 将数组转为List
使用Arrays.asList()方法,将数组转为List:
int[] arr = {1, 2, 3};
List<Integer> list = Arrays.asList(arr);
System.out.println(list);
输出结果为:[1, 2, 3]
10. 将List转为数组
使用List.toArray()方法,将List转为数组:
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int[] arr = list.toArray(new int[0]);
System.out.println(arr);
输出结果为:[1, 2, 3]
11. 判断字符串是否为空
使用StringUtils.isBlank()方法,判断字符串是否为空:
String str = "";
boolean isBlank = StringUtils.isBlank(str);
System.out.println(isBlank);
输出结果为:true
12. 判断对象是否为null
使用Objects.isNull()方法,判断对象是否为null:
Object obj = null;
boolean isNull = Objects.isNull(obj);
System.out.println(isNull);
输出结果为:true
13. 随机生成字符或数字
使用Random.nextInt()方法,生成随机的字符或数字:
Random random = new Random();
char c1 = (char) (random.nextInt(26) + 'a');
char c2 = (char) (random.nextInt(10) + '0');
System.out.println(c1);
System.out.println(c2);
输出结果为:随机字符和数字
14. 判断两个对象是否相等
使用Objects.equals()方法,判断两个对象是否相等:
Object obj1 = new Object();
Object obj2 = obj1;
boolean isEqual = Objects.equals(obj1, obj2);
System.out.println(isEqual);
输出结果为:true
15. 正则表达式匹配
使用Pattern和Matcher类,进行正则表达式匹配:
String str = "hello world";
Pattern pattern = Pattern.compile("h.*d");
Matcher matcher = pattern.matcher(str);
boolean isMatch = matcher.matches();
System.out.println(isMatch);
输出结果为:true
16. 获取文件扩展名
使用FilenameUtils.getExtension()方法,获取文件扩展名:
String fileName = "test.jpg";
String extName = FilenameUtils.getExtension(fileName);
System.out.println(extName);
输出结果为:jpg
17. 将字符串转为MD5
使用MessageDigest和Base64类,将字符串转为MD5:
String str = "hello world";
MessageDigest md5Digest = MessageDigest.getInstance("MD5");
byte[] md5Bytes = md5Digest.digest(str.getBytes());
String md5Str = Base64.getEncoder().encodeToString(md5Bytes);
System.out.println(md5Str);
输出结果为:字符串的MD5值
18. 将数组分割为多个大小固定的数组
使用Arrays.copyOfRange()方法,将数组分割为多个大小固定的数组:
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int length = 3;
for (int i = 0; i < arr.length; i += length) {
int[] subArr = Arrays.copyOfRange(arr, i, Math.min(i + length, arr.length));
System.out.println(Arrays.toString(subArr));
}
输出结果为:分隔后的数组
19. 将集合分割为多个大小固定的集合
使用CollectionUtils.partition()方法,将集合分割为多个大小固定的集合:
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
int size = 2;
List<List<Integer>> partitionedList = ListUtils.partition(list, size);
System.out.println(partitionedList);
输出结果为:分隔后的集合
20. 获取当前线程名称
使用Thread.currentThread()方法,获取当前线程名称:
String threadName = Thread.currentThread().getName();
System.out.println(threadName);
输出结果为:当前线程名称
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:20个非常实用的Java程序代码片段 - Python技术站