I unten Methode in Java habenerhalten Java-Liste auf Basis der Eingabeparameter
public <T> List<?> getList(String str, Class<T> clazz){
List<T> lst = new ArrayList<>();
String[] arr = str.split(",");
for(String s : arr){
lst.add(clazz.cast(s));
}
return lst;
}
Ich möchte Ausgabe dieser Methode wie diese
List<Integer> lst = getList("1,2",Integer.class)
List<String> lst = getList("ab,cfv",String.class)
...
...
etc
Aber Problem hier ist, wenn ich "1,2
" bin vorbei und Integer.class
, ich bekomme classCastException
bei "clazz.cast(s)
"
können Sie vorschlagen, was ich hier falsch mache
Sie sind nicht garantiert, dass 'String s' gegossen werden kann Geben Sie "T" ein. Wie würde 'List sockets = getList (" asdf ", Socket.class);' Arbeit? –
bradimus
Danke .. für String, es funktioniert – vijendra
Nicht überraschend. Sie können eine 'Zeichenfolge' ohne Probleme in eine' Zeichenfolge' umwandeln. – bradimus