如何通过从第一个类调用第二个类的方法来调用第三个类的方法

时间:2019-06-10 17:59:27

标签: java class methods return-value

我有一个从该类中命名为“ 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());

我尝试了上面的行,但是它不起作用。

1 个答案:

答案 0 :(得分:0)

您的代码正在尝试在数组本身上调用getName()。您需要通知一个索引,您将从中获取Artist的名称。

for (int a = 0; a < tracks.get(i).getArtists().length; a++) { 
        System.out.print(tracks.get(i).getArtists()[a].getName()); 
}