私は Xtend を使用して Android アプリを作成していますが、elvis 演算子を使用して以下を簡素化したいと考えていました (これは機能します)。
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[]
ます。