throw exception 可以这样用,学习了
1 public HashMap(int initialCapacity, float loadFactor) { 2 //此处对传入的初始容量进行校验,最大不能超过MAXIMUM_CAPACITY = 1<<30(230) 3 if (initialCapacity < 0) 4 throw new IllegalArgumentException("Illegal initial capacity: " + 5 initialCapacity); 6 if (initialCapacity > MAXIMUM_CAPACITY) 7 initialCapacity = MAXIMUM_CAPACITY; 8 if (loadFactor <= 0 || Float.isNaN(loadFactor)) 9 throw new IllegalArgumentException("Illegal load factor: " + 10 loadFactor); 11 12 this.loadFactor = loadFactor; 13 threshold = initialCapacity; 14 15 init();//init方法在HashMap中没有实际实现,不过在其子类如 linkedHashMap中就会有对应实现 16 }
1 3 if (initialCapacity < 0) 2 4 throw new IllegalArgumentException("Illegal initial capacity: " + 3 5 initialCapacity);