在java 泛型指南中,有一段关于 转型和instanceof的描述
并且有这样一段代码:
<T> T badCast(T t, Object o) {
return (T) o; // unchecked warning
}
指南中说的很清楚
类型参数在运行时并不存在。这意味着它们不会添加任何的时间或者空间上的负担,这很好。不幸的是,这也意味着你不能依靠他们进行类型转换。但,我在jdk1.6的源码ArrayList.java中看到
public <T> T[] toArray(T[] a) {
if (a.length < size)
// Make a new array of a's runtime type, but my contents:
return (T[]) Arrays.copyOf(elementData, size, a.getClass());
System.arraycopy(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
其中第一个return语句明显违反了约定,请知道的朋友给指点一下。
并且有这样一段代码:
<T> T badCast(T t, Object o) {
return (T) o; // unchecked warning
}
指南中说的很清楚
类型参数在运行时并不存在。这意味着它们不会添加任何的时间或者空间上的负担,这很好。不幸的是,这也意味着你不能依靠他们进行类型转换。但,我在jdk1.6的源码ArrayList.java中看到
public <T> T[] toArray(T[] a) {
if (a.length < size)
// Make a new array of a's runtime type, but my contents:
return (T[]) Arrays.copyOf(elementData, size, a.getClass());
System.arraycopy(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
其中第一个return语句明显违反了约定,请知道的朋友给指点一下。
解决方案 »
- 图片标识点识别与图片切割问题!!
- double类型是否可用移位符>>?
- JTree 多重事件 问题
- 一个选择题目 有空的请看一下。
- 请问如何把byte类型的数据在Ascii表中对应的字符打印出来?反过来,如何打印一个char字符对应的byte类型?
- 请问谁知道国外有没有好的关于JAVA桌面程序开发的网站,谢谢.
- 郁闷啊 为什么找一个jdk1.4那么难? 下载一个更困难!!!
- 在java中执行外部程序,得不到标准输出,那位大虾帮帮我
- 想读到<input type="file" name="ulfile" size="20" maxlength="20">里的值,用request.getParameter("ulfile");方法不行!救我
- 解决难题!
- textpane插圖片問題...請求各位大大幫忙
- jfreechart 如何在一个chart上,创建两个实时曲线图
copyOf(T[] original, int newLength)
复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度。
static <T,U> T[]
copyOf(U[] original, int newLength, Class<? extends T[]> newType)
复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度。