泛型简介:
Java 泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数类型。
泛型类和泛型接口
定义泛型类在”类名”后添加一对<>,里面定义”泛型名称”
package com.泛型;
public class Demo02 {
public static void main(String[] args) {
inter<String> inter = new inter<String>() { //匿名内部类创建
@Override
public void func(String num) {
System.out.println("我是泛型接口的String类型" + num);
}
};
inter.func("123");
}
}
interface inter<T>{
void func(T num);
}
泛型方法
定义格式:修饰符 <表示泛型方法> 返回值类型 方法名(参数){}
package com.泛型;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
Integer[] ints = new Integer[]{1,2,3,4};
Double[] dbs = new Double[]{1.0,2.4,6.9,9.1};
System.out.println(ArrayTools.getindex(2,ints));//查询目标值2在ints数组中的位置
System.out.println(ArrayTools.getindex(6.9,dbs));//查询目标值6.9在dbs数组中的位置
}
}
class ArrayTools{
/**
* 查找目标值在数组中的位置
* 如果不使用泛型方法,那么不同数据类型要重载很多方法
* 下面是利用泛型方法进行操作
*
* @param target 查找的目标值
* @param nums 被查找的数组
* @param <T>
* @return 返回下标
*/
public static <T> int getindex(T target, T[] nums){
int index = -1;
for(int i = 0 ; i < nums.length ; i++){
if(nums[i].equals(target)){
index = i;
break;
}
}
return index;
}
}
I'm so cute. Please give me money.
- 本文链接:http://yoursite.com/2020/04/27/Java%E6%B3%9B%E5%9E%8B/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub IssuesGitHub Discussions