我有一个从该类中命名为“ Artist”的类,我可以将其称为“ Track”类的公共方法getArtists,该类的返回值为我提供了另一个“ ArtistSimplified”类的数组。我对方法getName感兴趣,该方法返回ArtistSimplified类的字符串。我想知道怎么做。我不能直接调用ArtistSimplified类的getName方法。
List<Track> tracks = new ArrayList<>();
tracks = Arrays.asList(topTracksRequest.execute());
if(tracks == null) {
throw new ResourceNotFoundException(new ErrorMessage("No songs found for this id:" +artistId));
}
List<Song> songs = new ArrayList<Song>();
for(int i = 0; i < 5; i++) {
Song song = new Song();
song.setTitle(tracks.get(i).getName());
song.setArtist(tracks.get(i).getArtists().getClass().getMethod("getName", ArtistSimplified.class).getReturnType());
}
我被困在这里。 song.setArtist(tracks.get(i).getArtists()。getClass()。getMethod(“ getName”,ArtistSimplified.class).getReturnType());
我尝试了上面的行,但是它不起作用。
答案 0 :(得分:0)
您的代码正在尝试在数组本身上调用getName()
。您需要通知一个索引,您将从中获取Artist
的名称。
for (int a = 0; a < tracks.get(i).getArtists().length; a++) {
System.out.print(tracks.get(i).getArtists()[a].getName());
}