`

Java里操蛋的泛型

    博客分类:
  • java
 
阅读更多

BT的#java泛型#,我只想创建个泛型实例!

悲惨的是就连ArrayList<T>里边的elementData都是Object[]...不是T[]...

更悲惨的是,Collections.sort<T>处的T还是extends Comparable呢

等到实现代码里头调用到Arrays.sort的时候,传进去的就只是Object[]了

public static <T extends Comparable<? super T>> void sort(List<T> list) {
		Object[] a = list.toArray();
		Arrays.sort(a);
		ListIterator<T> i = list.listIterator();
		for (int j = 0; j < a.length; j++) {
			i.next();
			i.set((T) a[j]);
		}
	}

 Arrays.sort实现代码又强制类型转换,把Object转换成了Comparable 

public static void sort(Object[] a) {
        Object[] aux = (Object[])a.clone();
        mergeSort(aux, a, 0, a.length, 0);
    }
	private static void mergeSort(Object[] src, Object[] dest, int low,
			int high, int off) {
		int length = high - low;

		// Insertion sort on smallest arrays
		if (length < INSERTIONSORT_THRESHOLD) {
			for (int i = low; i < high; i++)
				for (int j = i; j > low
						&& ((Comparable) dest[j - 1]).compareTo(dest[j]) > 0; j--)
					swap(dest, j, j - 1);
			return;
		}
      ...
}
 悲催的JDK不知道在玩什么
分享到:
评论

相关推荐

    Java中的泛型简析实战.zip

    Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战...

    3.java实例化泛型类.zip

    3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3.java实例化泛型类.zip3....

    Java泛型_Java中的泛型结构_

    Java中的泛型结构请大家指教并指导有不足的地方给予赐教。

    java Hashtable的泛型化

    java Hashtable的泛型化 java Hashtable的泛型化 java Hashtable的泛型化

    关于java基础的泛型的练习

    关于java基础的泛型的练习

    Java 实现泛型List

    Java 实现泛型List的源码,基本实现了List接口的全部所有方法。欢迎大家发表自己的观点和建议。

    Java泛型和集合

    Java Generics and Collections 英文版,详细描述java 泛型技术

    Java如何获取泛型类型

    Java 运行时如何获取泛型参数的类型 Java类型Type 之 ParameterizedType,GenericArrayType,TypeVariabl,WildcardType 从实现的接口获取泛型参数 定义一个泛型父类: public interface SuperClass { String ...

    java 继承非泛型类示例

    java 继承非泛型类示例 java 继承非泛型类示例 java 继承非泛型类示例

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    Java泛型不是真正的泛型

    详细的介绍了Java是伪泛型的原因,介绍了类型擦除的内容等。

    2.java定义泛型类.zip

    2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip2.java定义泛型类.zip...

    Java集合、泛型和枚举

    Java集合、泛型和枚举;Java集合、泛型和枚举;Java集合、泛型和枚举;Java集合、泛型和枚举;

    Java泛型编程指南.pdf

    Java泛型编程指南.pdf 此文章译自SUN的泛型编程指南

    java 一个关于泛型的简单例子

    java 一个关于泛型的简单例子 java 一个关于泛型的简单例子 java 一个关于泛型的简单例子

    java集合 框架 泛型

    java集合 框架 泛型,枚举,有PPT详解,并有实例

    Java中的泛型方法演示代码

    Java中的泛型方法演示代码

    Java集合框架及泛型

    集合框架及泛型的介绍和基础理解,方便大家了解集合框架及泛型。

    java 泛型类的类型识别示例

    java 泛型类的类型识别示例 java 泛型类的类型识别示例 java 泛型类的类型识别示例

    Java 泛型擦除后的三种补救方法

    Java中的泛型,在运行时刻其具体类型是被擦除的,这样我们就不能用new T(),instanceof等关操作,特别是对泛型类型的类的实例化问题,在此根据《Thinking in Java》中所讲的对类型擦除所带来问题的三种解决方案,比较...

Global site tag (gtag.js) - Google Analytics