容器物件,可能包含也可能不包含非null值。如果存在值,將返回並且將返回該值。提供依賴於是否存在包含值的其他方法,例如(如果值不存在則返回預設值)和(如果值存在則執行**塊)。
返回具有指定的當前非空值的。
public static optionalof(t value)
私有的建構函式
private optional(t value)
objects. requirenonnull 如果為空則會報空指標
public static t requirenonnull(t obj)
返回描述指定值的,如果為非null,否則返回空。
public static optionalofnullable(t value)
如果值存在則返回,否則則返回other
public t orelse(t other)
public class optiontest
public static string getusername(string userid)
public static string getuserage(string userid)
}
JDK1 8 HashMap putVal原始碼解讀
final v putval int hash,k key,v value,boolean onlyifabsent,boolean evict 該節點不為鍊錶最後乙個節點,判斷值是否相同,相同直接退出迴圈,因為此時e指向 p.next 即p.next是相同節點,需要替換 if e.hash has...
JDK1 8 HashMap resize原始碼解讀
final node resize newcap oldcap 2 左移1位相當於原值 2 並且原長度大於16 else if newcap oldcap 1 maximum capacity oldcap default initial capacity newthr oldthr 1 doubl...
ThreadLocal總結 jdk1 8原始碼
threadlocal為每個使用它的執行緒提供乙個變數的副本。threadlocal中的主要方法 public void set t value public void set t value 先呼叫thread類的靜態方法獲得當前執行緒的thread物件,每個執行緒對應的thread物件都有乙個t...