以前在寫程式的時候,碰到需要比較兩個有可能為null的例項時,為了避免出現nullpointerexception,經常用這樣的一段**來比較:
abc"
;cde"
;if((obj1
==null
&&obj2
==null
) ||
(obj1
!=null
&&obj1.equals(obj2))
||(obj2
!=null
&&obj2.equals(obj1)))
這樣的程式,讀起來真是挺拗口。我一直沒有想到什麼好的方法解決這個問題,直到今天在看到jdk的abstractlist原始碼的equals方法的實現時,看到這一段:
if(!(o1
==null?o2
==null
: o1.equals(o2)))
return
false;
原來用三元運算子可以很好的解決這個問題,呵呵,我前面的程式可以改寫成:
abc"
;cde"
;if(obj1
==null
?obj2
==null
: obj1.equals(obj2))
system.
out.println(
"equals");
如何比較兩個 Schema 的異同
有的時候,dba 需要迅速找出來同乙個 oracle 資料庫上或者不同資料庫的兩個 schema 的差異.這種情況應該比較常見,比如測試資料庫發布到產品資料庫的時候,需要 dba 做頻繁的檢查。應對的辦法之一是通過 toad 這樣的 gui 工具來查詢.具體操作應該是很簡單的。oracle 自帶的 ...
如何比較兩個演算法的效率
在學演算法的時候,經常會涉及分析演算法的複雜度和效率的問題,按照書本上的理論通常也能夠大概推出個結論。通常都是根據演算法中重要的語句去推算,例如for 迴圈語句等。那麼有沒有可以用程式去真正上機實驗的辦法呢?其實方法也是很簡單,如果我們用的是c語言,可以利用 include 檔案中的ftime 函式...
php比較兩個變數的值 php如何交換兩個變數的值
本篇文章主要給大家介紹php交換兩個變數的值的具體實現方法。交換兩個變數是指相互交換變數的值。通常,這是通過記憶體中的資料完成的。交換兩個變數的方法有兩種 下面我們就通過具體的 示例為大家介紹php交換兩個變數值的方法。方法一 使用第三個變數交換兩個數字 如下 a 15 b 27 echo 交換前的...