Я пытаюсь передать Java-класс в качестве параметра в функции, потому что у меня есть несколько классов pojo для разных API-интерфейсов, и я пытаюсь создать единую утилиту парсера для всего URL-адреса API и класс pojo, я пробовал с небольшим или никаким успехом.Передача класса как параметра в java-функцию
ниже приведен пример кода -
public class util {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
List<JsonGenMovies> jsongen = null;
String url = "http://www.dishanywhere.com/radish/v20/dol/movies/carousels/featured.json?nkey=0e1345ee597cf280c8a2cde367b6b894";
getMovieParser(jsongen, url);
List<JsonGenShow> jsongenShow = null;
String URL = "http://www.dishanywhere.com/radish/v20/dol/shows/carousels/featured.json";
getShowParser(jsongenShow, URL);
}
public static String[] getMovieParser (List<JsonGenMovies> jsongen, String url) throws JsonParseException, JsonMappingException, IOException
{
URL jsonUrl = new URL(url);
ObjectMapper objmapper = new ObjectMapper();
jsongen = objmapper.readValue(jsonUrl, new TypeReference<List<JsonGenMovies>>() {});
String[] shows = new String [jsongen.size()];
int i = 0;
for(JsonGenMovies element : jsongen) {
shows[i++]=element.getName();
}
for(int j =0; j<shows.length;j++)
{
System.out.println(shows[j]);
}
return shows;
}
public static String[] getShowParser (List<JsonGen> jsongenShow, String URL) throws JsonParseException, JsonMappingException, IOException
{
URL jsonUrl = new URL(URL);
ObjectMapper objmapper = new ObjectMapper();
jsongenShow = objmapper.readValue(jsonUrl, new TypeReference<List<JsonGen>>() {});
String[] shows = new String [jsongenShow.size()];
int i = 0;
for(JsonGen element : jsongenShow) {
shows[i++]=element.getName();
}
for(int j =0; j<shows.length;j++)
{
System.out.println(shows[j]);
}
return shows;
}
}
в строке -
jsongen = objmapper.readValue(jsonUrl, new TypeReference<List<JsonGen>>() {});
Я до сих пор <List<JsonGen>>
жесткий закодировано имя класса, который я пытаюсь заменить аргументами. пожалуйста, если вы можете помочь.
Пожалуйста, ответьте небольшим пояснением, один вкладыш может быть не моим.
С уважением Шек
Вы можете уточнить _replace с arguments_? –
Извините за любую путаницу, замените аргументы, переданные при вызове функции, так что здесь getParser (jsongen, URL); Я передаю экземпляр «Список jsongen», я хочу заменить <Список > тоже с параметром. –
Shek
Я до сих пор не понимаю. –