3

私は現在、bukkit プラグインをプログラミングしています (bukkit は minecraft サーバー タイプです;))。そこで、次のメソッドを持つYamlConfigurationという名前のクラスにメソッドがあります。

public List<?> getList(String path)

私の問題は、返されたこのリストに要素を追加および/または削除したいということです。しかし、私がこれをやろうとすると

YamlConfiguration config = YamlConfiguration.load("path/to/config.yml");
config.getList("a.path").add(new String("foo"));

日食はエラーをスローしています

List<capture#2-of ?> 型の add(capture#2-of ?) メソッドは、引数 (文字列) には適用されません。

どうすればいいのか本当にわかりません。^^'

よろしく。

4

5 に答える 5

3

本当にアイテムをロードしますgetListか? もgetStringList(...)ご用意しております。

だから多分あなたは試すことができます:

config.getStringList("a.path").add("foo");
于 2013-03-21T08:15:18.747 に答える
2

List<?> listList<String> や> など、任意のタイプのリストを指すことができますList<Integer。つまり、実際のリストが何であるかがわからないnullため、このリストにのみ追加できます。このチュートリアルで詳細を読むhttp://docs.oracle.com/javase/tutorial/extra/generics/wildcards.html

于 2013-03-21T08:18:28.807 に答える
0

?のタイプがわからないため、list<?>要素を追加できないため、未知のタイプを表すワイルドカードです。

于 2013-03-21T08:18:17.570 に答える
0

String のリストを返すことが確実な場合は、次のようにキャストできます。

((List<String>)config.getStringList("a.path")).add("foo");
于 2013-03-21T08:20:51.847 に答える
0

<?> に置き換える必要があると思います。次に、、、など<Object>のような考えをリストに追加できます...IntegerString

幸運を :)

于 2013-03-21T08:22:29.647 に答える