對不起,我的英語口語水平很低。 例如:java new object.method()爲什麼不是一個錯誤?
new StringBuilder().reverse().toString();
操作.
是之前new
,所以不執行method()
一個對象,以及爲什麼這可以右邊執行?它沒有告訴我這是一個錯誤。
對不起,我的英語口語水平很低。 例如:java new object.method()爲什麼不是一個錯誤?
new StringBuilder().reverse().toString();
操作.
是之前new
,所以不執行method()
一個對象,以及爲什麼這可以右邊執行?它沒有告訴我這是一個錯誤。
運營商'。'之前是
new
不,不是。運營商.
不在new
之前:它們都是Primary
,因此它們具有相同的優先級,因此它們從左到右評估。
爲什麼這可以執行正確?
真正的問題是它爲什麼會被編譯,我已經回答了。
它沒有告訴我這是一個錯誤。
這不是一個錯誤。
.
運算符在new StringBuilder()
之前未進行評估 - 它的所有評估都是從左到右。因此new StringBuilder()
創建StringBuilder
實例,.reverse()
反轉(空)StringBuilder
,然後.toString()
構造一個(空)String
。
你的問題不清楚,沒什麼意義 – Rahul
很明顯,運算符'.'在* new之前是* not *。事實上,它們都是「主要」,因此它們具有同等的優先級,因此它們從左到右進行評估。 – EJP
@Rahul - 對我來說,這個初學者的問題顯然是有道理的。當我開始編程時(使用java),我仍然記得我的愚蠢問題。 –