Skip to content

Instantly share code, notes, and snippets.

View vincentruan's full-sized avatar

Vincent vincentruan

View GitHub Profile
@vincentruan
vincentruan / Guava小技巧.md
Last active August 13, 2021 03:17
[Guava小技巧]工具列运用 #java #guava
  • Multimap 一个key可以映射多个value的HashMap
Multimap<String, Integer> map = ArrayListMultimap.create();
map.put("key", 1);
map.put("key", 2);
Collection<Integer> values = map.get("key");
System.out.println(map); // 输出 {"key":[1,2]}
// 还能返回你以前使用的臃肿的Map
Map<String, Collection<Integer>> collectionMap = map.asMap();
// 优雅替换Map<String, List>
@vincentruan
vincentruan / RandomNumberGuide.md
Last active July 8, 2020 07:39
[Java随机数]随机数生成的几种方式 #Java #随机数

JAVA API

1. java.lang.Math

Math 类中的 random 方法返回一个 [0.0, 1.0) 区间的 double 值。下面这段代码能得到一个 min 和 max 之间的随机数:

int randomWithMathRandom = (int) ((Math.random() * (max - min)) + min);

2. java.util.Random

@vincentruan
vincentruan / JavaTypeUtils.java
Last active July 8, 2020 07:40
[JavaTypeUtils]用于转换JavaType和Class,尤其是对于泛型中支持List<?>、Map<K, V>等 #Jackson2 #JavaType
public class JavaTypeUtils {
private static final TypeFactory TYPE_FACTORY = TypeFactory.defaultInstance();
public static JavaType listTypeOf(Class<?> parameterClass) {
return TYPE_FACTORY.constructCollectionType(List.class, parameterClass);
}
public static JavaType simpleTypeOf(Class<?> parameterClass) {
return TYPE_FACTORY.constructType(parameterClass);