RandomUtils.nextInt()
生成随机整数,RandomStringUtils
生成随机字符串。- 实现随机抽取集合里面的部分元素
Collections.shuffle(list)
将 list 元素循序打乱list.subList(0, loreResource.getQuesNum()); // subList(fromIndex, toIndex)的实际范围是[fromIndex, toIndex)
获取指定数量的元素。 ListUtils.select()
方法,类似于 JQuery 数组的 filter 方法。System.out.println(Arrays.toString(someList.toArray()));
方法可以方便地打印List内容。Arrays.asList(T... a)
无法将基本类型转换为 List,原因是asList()
方法接收的是泛型的可变长参数,而基本类型(如int,char等)是无法泛型化的。使用asList()
对基本数据类型进行操作时需要使用基本数据类型的包装类。asList()
返回的 ArrayList 类型是Arrays
的一个内部类,没有实现add()
、remove()
等用于操作 ArrayList 的方法,当我们需要对asList()
返回的列表进行常用操作时需要对其进行转换,List list = new ArrayList(Arrays.asList(testArray));
。- Java类启动顺序,
static
静态代码先于构造方法。 - ThreadLocal变量一般使用
static
修饰。使用时,为了避免内存泄漏,在当前线程执行完之后需要调用ThreadLocal.remove()
方法清除线程关联对象。 - 在Java程序中可以通过添加关闭钩子,实现在程序退出时关闭资源、平滑退出的功能。使用
Runtime.addShutdownHoot(Thread hook)
方法,可以注册一个JVM关闭的钩子,这个钩子可以在以下几种场景被调用:- 程序正常退出
- 使用
System.exit()
- 终端使用Ctrl+C触发的中断
- 系统关闭
- 使用
kill pid
命令干掉进程
- 多个字段同时存在升序、降序排序的实现:
java
list.stream().sorted(Comparator.comparing(Example::getField1)
.thenComparing(Example::getField2)
.thenComparing(Example::getField3, Comparator.reverseOrder())
.thenComparing(Example::getField4))
.collect(Collectors.toList());
1
2
3
4
5
2
3
4
5
上述代码实现了一个元素类型为Example的列表按“Field1升序、Field2升序、Field3降序、Field4升序”进行排序。
- Java泛型命名规范:
T
:Type
(Java类)通用泛型类型,通常作为第一个泛型类型S
:通用泛型类型,如果需要使用多个泛型类型,可以将S作为第二个泛型类型U
:通用泛型类型,如果需要使用多个泛型类型,可以将U作为第三个泛型类型V
:通用泛型类型,如果需要使用多个泛型类型,可以将V作为第四个泛型类型E
:集合元素泛型类型,主要用于定义集合泛型类型K
:映射-键泛型类型,主要用于定义映射泛型类型V
:映射-值泛型类型,主要用于定义映射泛型类型N
:Number
数值泛型类型,主要用于定义数值类型的泛型类型?
:表示不确定的Java
类型
评论区留言准则:
1. 本评论区禁止传播封建迷信、吸烟酗酒、低俗色情、赌博诈骗等任何违法违规内容。
2. 当他人以不正当方式诱导打赏、私下交易,请谨慎判断,以防人身财产损失。
3. 请勿轻信各类招聘征婚、代练代抽、私下交易、购买礼包码、游戏币等广告信息,谨防网络诈骗。