2
我使用的Xtend寫一個Android應用程序操作不工作,我想用Elvis操作符來簡化下面的(工作):的Xtend貓王:如預期
val c = if (projection != null) new MatrixCursor(projection) else new MatrixCursor(#[MediaStore$MediaColumns::DISPLAY_NAME, MediaStore$MediaColumns::SIZE])
通過使用elvis算子,我寫道:
val c = new MatrixCursor(projection ?: #[MediaStore$MediaColumns::DISPLAY_NAME, MediaStore$MediaColumns::SIZE])
其中,據我所知,工作方式相同。
但是,我在Eclipse中遇到了這個錯誤:Type mismatch: cannot convert from Object to String[]
它有什麼問題?
我使用Xtend 2.4,MatrixCursor
構造函數簽名是MatrixCursor(String[])
,而projection
明確定義爲String[]
。
謝謝!你知道這樣做是否會在未來得到改善,還是通過設計? – yuku
未來我們很可能會改進這一點。它目前是類型推斷的一個限制。 –