如何创建空媒体对象,以便不会抛出异常?

问题描述 投票:1回答:1

我想用Java制作一个播放播放列表歌曲的音乐播放器应用程序。

Media playlist[]  = new Media[1000];
int count = 0;
for (int i = 0; i<1000; i++)
        playlist[i]=new Media(""); // this line

播放列表中加载了一种方法:

public void addSongToPlaylist(File file){     
    playlist[count] = new Media(file.toURI().toString());
    count++;         
}

当我运行我的程序时,抛出此异常:

Exception in thread "main" java.lang.IllegalArgumentException: uri.getScheme() == null! uri == ''
at com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:211)
at javafx.scene.media.Media.<init>(Media.java:393)
at musicplayerapp.MusicPlayerGUI.<init>(MusicPlayerGUI.java:32)
at musicplayerapp.MusicPlayerApp.main(MusicPlayerApp.java:25)

我的问题是:如何使用空媒体对象初始化名为Playlist的数组,以便不抛出任何异常?或者你能建议更好地解决这个问题吗?

java javafx
1个回答
0
投票

没有“空媒体”对象这样的东西。如果您担心nulls,只需使用List而不是数组:

private List<Media> playlist = new ArrayList<>();

public void addSongToPlaylist(File file){     
    playlist.add(new Media(file.toURI().toString()));
}
© www.soinside.com 2019 - 2024. All rights reserved.