Imは、以下の方法での作業:アレイ型の期待[コンパイルエラー]
public void m(List<? extends Object[]> objs){
objs.stream()
.map(oa -> oa[0]) //compile error
//array type expected
.forEach(System.out::println);
}
なぜそれが機能しないのですか?私は配列を拡張するすべてが配列として見ることができると思った。実際には私はlength
を配列から得ることができます。
Downvoter、あなたはとても親切にし、それが動作しない理由をコメントで説明するだろう:?各配列は、あなたががメソッドを入力使用する必要があります例えば
MyClass[].class
、固定型と、独自のクラスを持っていますかなぜ私は明示的に 'Object []'にキャストする必要がありますか? –
'm(List <?extends Object []> objs)'を 'm(List
@StephenPあいにく私は署名を変更できません。 –