java再复习——自定义泛型方法
2017-03-01 17:33
344 查看
曾经对每一个新手都有这样的问题,做一个可以通用的给数组元素换位置的方法,那么这么做。。? 初学java阶段当然是方法的重载啊
,但是其实还是写了好多代码。。。有时候就因为一个参数不一样,那么久得再重载一个,很痛苦的,看着其实也并不高大上,我们心里也一定知道,肯定会有其他高级方法的,这时候自定义泛型方法就出现了。
自定义泛型方法的语法:
public class GenericDemo2 {
public static void main(String[] args) {
//没问题
swip(new String[]{"哈哈","呵呵","嘻嘻"}, 2, 3);
//不可以,报错,因为自定义泛型只能接受引用类型的变量,而int类型时基本变量,并且这里作为一个数组,没有自动装箱一说
swip(new int[]{2,3,4,5,6,7}, 3, 4);
}
/**
* 通用交换数组元素位置的方法
* @param t
* @param i
* @param j
*/
public static <T> void swip(T[] t,int i ,int j){
T temp = t[i];
t[i] = t[j];
t[j] = temp;
}
}
返回值前面的<T>代表自己定义一种T类型。。只有写了这个才可以在参数和返回值中使用这个T类型,要不谁知道你的T是啥啊。。
,但是其实还是写了好多代码。。。有时候就因为一个参数不一样,那么久得再重载一个,很痛苦的,看着其实也并不高大上,我们心里也一定知道,肯定会有其他高级方法的,这时候自定义泛型方法就出现了。
自定义泛型方法的语法:
public class GenericDemo2 {
public static void main(String[] args) {
//没问题
swip(new String[]{"哈哈","呵呵","嘻嘻"}, 2, 3);
//不可以,报错,因为自定义泛型只能接受引用类型的变量,而int类型时基本变量,并且这里作为一个数组,没有自动装箱一说
swip(new int[]{2,3,4,5,6,7}, 3, 4);
}
/**
* 通用交换数组元素位置的方法
* @param t
* @param i
* @param j
*/
public static <T> void swip(T[] t,int i ,int j){
T temp = t[i];
t[i] = t[j];
t[j] = temp;
}
}
返回值前面的<T>代表自己定义一种T类型。。只有写了这个才可以在参数和返回值中使用这个T类型,要不谁知道你的T是啥啊。。
相关文章推荐
- java基础加强--自定义泛型方法及其应用
- Java学习笔记之泛型(二):在方法上自定义泛型
- paip.自定义java 泛型类与泛型方法的实现总结
- java自定义泛型(泛形)方法
- Java自定义泛型类和泛型方法
- paip.自定义java 泛型类与泛型方法的实现总结
- java自定义泛型(泛形)方法
- java再复习——通过反射获取到方法的参数和返回值的泛型类型
- 自定义方法copy数组 和 Java类库对数组复制的支持
- java基础之数组的拷贝(自定义方法与System下的自带方法对比)
- 自定义泛型方法及其应用和类型参数的类型推断
- 关于Java的泛型在所声明的对象中如何获取class或者实例的方法的总结
- Java静态初始化,实例初始化以及构造方法复习~
- Java<>泛型方法
- (笔试前复习)java-两种方法求第一个最长的可重复子串
- List<T>泛型数组API自带的Sort() 排序方法根据自定义排序实现
- JAVA 泛型方法比较
- Java获取泛型参数的类型的方法
- java下自定义read方法的实现并可以继承
- Java基础复习笔记12Java自定义注解Annotation的使用