2016-08-03 77 views
0

我剛剛完成我的碩士學位,我有一個非常技術性的老師總是告訴我們:常量同時測試平等/不平等記左

神諭應該總是在平等和比較

因爲我是法國人,確切的一句話是:

L'甲骨文DOIT toujours理由à笨拙德égalités等comparaisons

字「ORACLE」在這裏指的常量,所以不是寫作:

mystring.equals("foo"); 我們應該寫 "foo".equals(mystring);

我從來沒有聰明到問他爲什麼,因爲我只是聽向他提供技術建議。我現在覺得很愚蠢的,所以我的問題:

除了換一個風格上看,沒有任何技術原因,如優化或性能之類的東西,在左邊寫常數平等/比較?

預先感謝您!

回答

0

「比較左側不變」有兩個原因。

s.equals("x") 

可以拋出一個NullPointerException異常

而且在使用==一個不能與分配混合起來,其他語言=

if (x = 3) { 

的Java已經被針對第二種情況森嚴,和一般的做法現在是避免空值。所以這個論點很薄弱。然而,在我目前的工作中,我們的確遵循這一規則