基本上嘗試下面的代碼片段,我得到一個ClassCastException:爲什麼在使用Long而不是Integer時會出現ClassCastException?
public static void main (String []args)
{
Path path = Paths.get((System.getProperty("user.home")), "Desktop","usnumbers.txt");
try {
Integer size = (Integer)Files.getAttribute(path, "basic:size", NOFOLLOW_LINKS);
System.out.println("Size: " + size.toString());
} catch (IOException e) {
System.err.println(e);
}
}
}
它被固定,一旦我更改關鍵字Integer
與Long
。我檢查了文檔Files.getAttribute(...)
,它返回一個Object not long。此外,總是在同一頁面中,在解釋此方法的用法時,它們實際上使用Integer關鍵字來投射對象。 Here是正式的oracle文檔解釋它的鏈接。 直接從相同的鏈接的方法的使用:
用法示例:假設我們需要支持一個「UNIX」視圖 系統上的文件所有者的用戶ID:
Path path = ... int uid = (Integer)Files.getAttribute(path, "unix:uid");