黑马程序员技术交流社区
标题:
关于泛型方法的问题请教
[打印本页]
作者:
muzigejin
时间:
2012-1-15 23:52
标题:
关于泛型方法的问题请教
public class demo1 {
public static void main(String[] args) {
Integer[] arr = {1,2,3};
//int [] arr = {1,2,3};//错误
reverse(arr);
}
public static <T> void reverse(T[] arr) {
//方法体省略
}
}
复制代码
问题一:reverse(T[] arr)方法,传入的参数必须是对象类型,不能是基本数据类型的数组
问题二:如果 public static <T> void reverse(T[] arr) {}方法写成有返回值的泛型方法,该如何编写,
main方法该如何调用。
作者:
黄秋
时间:
2012-1-17 04:35
问题一:java的泛型不支持基本数据类型。
问题二:
public class Test {
public static void main(String[] args) {
Integer[] arr = {1,2,3};
Object[] obj=reverse(arr);
for(Integer a:arr)
System.out.println(a);
for(Object o:obj)
System.out.println(o);
}
public static <T> T[] reverse(T[] arr) {
// Object[] temp=new Object[10];
int len=arr.length;
T[] temp = (T[])new Object[len];
for (int i = 0; i < len; i++)
temp[i]=arr[len-i-1];
for (int i = 0; i < len; i++)
arr[i]=temp[i];
return temp;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2