[英]is using empty list expensive than doing a null check om a list in java?
我有下面的代碼。 我在第2行將list設置為null,然后進一步檢查list是否為null。我想知道創建一個空列表是否比檢查list是否為null昂貴?
private void check(Product p){
List<ProductAction> list=null; // line 2
if(p.hasSubProducts){
list = // list of
ProductAction for sub products
}
if(list == null){
//some logic
}
}
我只是在評論中重復這個概念。
如果將list
聲明為null
,則聲明成本為O(1),因為您正位於表下方,聲明一個指向NULL
地址的指針,該地址為基本內存值。
否則,如果進行比較if(list == null)
,則只是說list
的地址值等於NULL
地址。 顯然,此操作的成本為O(1),因此成本是相同的。
在您的情況下,按可讀性排序的最佳編碼方式可能是:
private void check(Product p){
List<ProductAction> list; // this is already equal to null
if(p.hasSubProducts()){
list = // list of
ProductAction for sub products
// i assume you declare and update the list here
}
if(list == null){
//some logic
}
}
這是因為代碼內有注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.