黑马程序员技术交流社区
标题:
自定义泛型问题
[打印本页]
作者:
雪龙
时间:
2013-12-19 17:14
标题:
自定义泛型问题
public class SwapArr {
public static void main(String[] args) {
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
swapArr(arr);//这里为什么不能调用这个方法,提示是
复制代码
作者:
雪龙
时间:
2013-12-19 17:21
public static <T> void swapArr(T[] arr) {
int length = arr.length;
int i = 0;
int j = length;
while (i < j) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--}不知道为什么就把我的这段代码给吞了,在这里补上
复制代码
作者:
四五六七八
时间:
2013-12-19 17:36
有一点你搞错了 只有基本数据类型能自动拆箱包厢,,,数组类型不会
int【】-------> [ I
Integer[]------》[Ljava.lang.Integer
这里不存在拆箱装箱 类型不匹配
作者:
lichao
时间:
2013-12-19 21:16
对原有代码更改
public class SwapArr {
public static void main(String[] args) {
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
swapArr(arr);//int类型数组传出的是[I 函数的参数不能识别的类型 T 不能转化为int类型
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
public static <T> void swapArr(T...arr) {//更改成可变参数就可以了,jdk1.5新特性
int length = arr.length;
int i = 0;
int j = length-1;
while (i < j) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
}
复制代码
作者:
雪龙
时间:
2013-12-19 21:53
楼主大人啊。我这个不会给贴子的分类了????
作者:
FFF
时间:
2013-12-19 22:19
本帖最后由 FFF 于 2013-12-19 22:21 编辑
雪龙 发表于 2013-12-19 21:53
楼主大人啊。我这个不会给贴子的分类了????
什么??需要分类的话,点击编辑就可以重新分类了。
作者:
雪龙
时间:
2013-12-21 09:34
我的没找见编辑啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2