当前位置: 首页 > wzjs >正文

淮安做网站 卓越凯欣百度网址大全旧版本

淮安做网站 卓越凯欣,百度网址大全旧版本,做网站要学哪些程序,微信小程序开发模板网站核心概念 Java 泛型是 Java SE 1.5 引入的一项重要特性,它的核心思想是 参数化类型(Parameterized Types),即通过将数据类型作为参数传递给类、接口或方法,使代码能够灵活地处理多种类型,同时保证类型安全性…

核心概念

        Java 泛型是 Java SE 1.5 引入的一项重要特性,它的核心思想是 参数化类型(Parameterized Types),即通过将数据类型作为参数传递给类、接口或方法,使代码能够灵活地处理多种类型,同时保证类型安全性。


一、基本语法

1. 泛型类/接口

        在类名后添加类型参数 <T>,T 是占位符(可以是任意标识符),声明后类的占位符会被替换成对应类型

public class Box<T> {private T content;public void setContent(T content) { this.content = content; }public T getContent() { return content; }
}// 使用
Box<String> stringBox = new Box<>();
stringBox.setContent("Hello");
String value = stringBox.getContent(); // 无需强制转换

2.泛型接口

public interface ITest<T> {void show(T t);
}public class TestImpl implements ITest<String> {@Overridepublic void show(String t) {System.out.println(t);}
}

3.泛型方法

  • 作为传参:在方法返回类型前声明类型参数 <T>:
//   修饰符  <T>  返回值类型 方法名(T 变量名){
public <T> void printArray(T[] array) {for (T element : array) {System.out.println(element);}
}// 调用时可显式指定类型或由编译器推断
printArray(new Integer[]{1, 2, 3});
  • 作为返回值:使用 Class<T> 参数传递类型信息
public <T> T convert(Object input, Class<T> targetType) {if (targetType == String.class) {return targetType.cast(input.toString()); // 转成 String} else if (targetType == Integer.class) {return targetType.cast(Integer.parseInt(input.toString())); // 转成 Integer}throw new IllegalArgumentException("不支持的类型: " + targetType);
}//调用
String strResult = convert(123, String.class);       // 返回 "123"(String 类型)
Integer intResult = convert("456", Integer.class);   // 返回 456(Integer 类型)


二、泛型通配符<?>

1. 无界通配符 <?>

  • 作为传参:表示接受任何类型
public void processList(List<?> list) {for (Object elem : list) { /* ... */ }
}
  • 作为返回值:表示返回任何类型
    public List<?> getData() {List<Food> resultList = new ArrayList<>();return resultList;}

2. 上界通配符 <? extends T>

        接受 T 或其子类(适合读取数据):

public double sum(List<? extends Number> list) {double sum = 0.0;for (Number num : list) { sum += num.doubleValue(); }return sum;
}

3. 下界通配符 <? super T>

        接受 T 或其父类(适合写入数据):

public void addNumbers(List<? super Integer> list) {list.add(1);list.add(2);
}

4. PECS 原则(Producer-Extends, Consumer-Super)

  • 生产者(Producer):提供数据时用 extends(如 List<? extends T>)
  • 消费者(Consumer):消费数据时用 super(如 List<? super T>)


三、实际应用场景

1. REST API 响应封装

public class ApiResponse<T> {private int code;private String message;private T data; // 泛型数据// 构造方法和Getter/Setterpublic static <T> ApiResponse<T> success(T data) {ApiResponse<T> response = new ApiResponse<>();response.setCode(200);response.setData(data);return response;}
}// 使用
ApiResponse<User> userResponse = ApiResponse.success(user);
ApiResponse<List<Product>> productResponse = ApiResponse.success(products);

2.Java 的集合框架(如 ArrayList<T>, HashMap<K,V>)

List<String> names = new ArrayList<>();
names.add("Alice");
String name = names.get(0); // 不需要强制转换

3.工具类方法

        泛型方法可用于编写通用的工具类,例如排序、查找等。

public static <T extends Comparable<T>> T max(T a, T b) {return a.compareTo(b) > 0 ? a : b;
}

http://www.dtcms.com/wzjs/446540.html

相关文章:

  • 政府网站建设座谈会主持词网站的网站建设
  • 茂南网站建设公司google官方入口
  • wordpress 随机点击数seo提升排名技巧
  • 51ppt模板网原创ppt模板寄生虫seo教程
  • 会员网站免费建设百度网盘网页登录入口
  • 网站安全建设需求天津seo外包平台
  • 自己做网站排版网站seo服务商
  • 水果配送网站建设营销型网站的推广方法
  • 个人做网站模版是否有人买湖南企业seo优化推荐
  • 中山哪里做网站百度站长工具app
  • 音乐视频怎么做mp3下载网站网站不收录怎么解决
  • 企业网站开发 语言 收录项目推广方式有哪些
  • 怎么建免费论坛网站深圳网络推广有几种方法
  • 陕西网站建设的内容网络科技公司网站建设
  • 企业品牌网站建设应该怎么做查询网
  • 网站建设数据的需求分析竞价培训班
  • 做网页赚钱的网站东莞疫情最新消息
  • 今日头条移动建站工具谷歌浏览器网址
  • 做旅游网站的目的百度竞价推广的技巧
  • 北碚区建设银行网站网站搭建
  • 徐州市建设工程信息服务平台seo优化啥意思
  • wordpress 首页评论优化 seo
  • 网站设置方案热狗seo顾问
  • zzcms网站开发免费b站推广网站短视频
  • 电商网站建设目的及网站的优势seo推广是什么意思
  • 给别人做网站怎么赚钱吗新站整站优化
  • 做一手房开什么网站比较好呢seo兼职平台
  • 政和网站建设wzjseo百度关键字推广费用
  • 可以做围棋习题的网站成都企业网站seo技术
  • b2c网站可分为无线网络优化