3

では、Javaで次のことを行うにはどうすればよいですか?

List<String> strings = new ArrayList<String>();       
JAXBElement<List<String>> jax = new JAXBElement<List<String>>(new QName("strings"), List<String>.class, strings);

この問題は特に List.class で発生し、返されるエラーは次のとおりです。

Multiple markers at this line
- List cannot be resolved to a variable
- String cannot be resolved to a variable
- Syntax error on token ">", void expected after this token
4

1 に答える 1

4

できません。

あなたが望むものに最も近い近似は、 を使用すること(Class<List<String>>) List.classです。

これはList<String>.class、実行時にList<String>List<Banana>List<FruitSalad>、およびListが Java ですべて同じであるため、 がないためです。これは、さまざまな理由から意図的に行われ、型消去と呼ばれます。

于 2012-07-09T19:10:52.407 に答える