0
我有:通用陣列鑄造
List<WatchEvent.Kind<Path>> events_kinds = new ArrayList<>();
events_kinds.add(StandardWatchEventKinds.ENTRY_DELETE);
events_kinds.add(StandardWatchEventKinds.ENTRY_CREATE);
events_kinds.add(StandardWatchEventKinds.ENTRY_MODIFY);
比我想用register
方法接受作爲第二個參數 一個Kinds<?>[]
類型,所以我做的:
WatchKey key = path.register(watch_service, (WatchEvent.Kind<Path>[]) events_kinds.toArray());
但是當我執行代碼我有以下例外:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.nio.file.WatchEvent$Kind;
現在怎麼樣我可以從列表中獲得一個Kinds<?>[]
數組嗎?
謝謝。
不應它是'WatchEvent.Kind [] eventsArray = events_kinds.toArray(新WatchEvent.Kind [events_kinds.size()]);'? –
@Aditya +1不是絕對必要的,但一個更好的方法,謝謝你的修正 –
@Shivan非常感謝它的工作! – xdevel2000