用于Mac OS X 10.6 Update 3的Java已升级到java 1.6.0_22.但是,它们不包含源代码或JavaDoc.有谁知道Apple是否提供了来源,如果有的话,在哪里可以找到它?
我想将源附加到Eclipse.
现在,我有:
public <T> T[] toArray(T[] old) {
T[] arr = Arrays.copyOf(old, old.length + size());
int i = old.length;
for(E obj : this) {
arr[i] = old.getClass().getComponentType().cast(obj);
++i;
}
return arr;
}
Run Code Online (Sandbox Code Playgroud)
(请注意,这不符合合同,因为axtavt指出了这一点.)
在哪里我得到这个警告:
Type safety: Unchecked cast from capture#2-of ? to T
Run Code Online (Sandbox Code Playgroud)
这仍然是实现它的最佳/最直接的方法吗?我可以以某种方式编码它而没有那个警告吗?我将如何实施呢?
编辑:我目前的解决方案.首先,我真的希望自己不要有这样的警告toArray.因此,我编写了这些小辅助函数(请在此处阅读以进一步讨论这些函数):
@SuppressWarnings("unchecked") static <T> Class<? extends T> classOf(T obj) {
return (Class<? extends T>) obj.getClass();
}
@SuppressWarnings("unchecked") static <T> Class<? extends T> classOf(T[] array) {
return (Class<? extends T>) array.getClass().getComponentType();
}
@SuppressWarnings("unchecked") static …Run Code Online (Sandbox Code Playgroud) 在Windows中,有(一个) src.jar文件包含Java平台的java源文件.
OSX中的Java 1.6有类似之处吗?我想将此指定到我的IDE,以便我可以导航到该源.
不确定之前是否曾经问过,做了一些挖掘.我正在尝试为几次采访做准备,我只是好奇地看看Java是如何实现其数据结构(arraylist,map)等是公开的.