博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的泛型
阅读量:6298 次
发布时间:2019-06-22

本文共 2007 字,大约阅读时间需要 6 分钟。

案例一,使用泛型可以限制储存的值类型。

package ch9;import java.util.*;/** * Created by Jiqing on 2016/11/28. */public class GenericList {    public static void main(String[] args) {        // 创建一个只想保存字符串的List集合        List
strList = new ArrayList
(); // 泛型 strList.add("疯狂Java讲义"); strList.add("疯狂Android讲义"); // 下面代码将引起编译错误 // strList.add(5); strList.forEach(str -> System.out.println(str.length())); }}

案例二,菱形语法,简洁方便

package ch9;import java.util.*;/** * Created by Jiqing on 2016/11/28. */public class DiamondTest {    // 泛型的菱形语法    public static void main(String[] args) {        // Java自动推断出ArrayList的<>里应该是String        List
books = new ArrayList<>(); books.add("疯狂Java讲义"); books.add("疯狂Android讲义"); books.forEach(ele -> System.out.println(ele.length())); Map
> schoolsInfo = new HashMap<>(); List
schools = new ArrayList<>(); schools.add("三打白骨精"); schools.add("大闹天宫"); schoolsInfo.put("孙悟空",schools); schoolsInfo.forEach((key,value) -> System.out.println(key + "-->" +value)); //孙悟空-->[三打白骨精, 大闹天宫] }}

案例三,定义类使用泛型声明

package ch9;import java.util.DoubleSummaryStatistics;/** * Created by Jiqing on 2016/11/28. */public class Apple
{ // 定义类使用泛型声明 // 使用T类型形参定义实例变量 private T info; public Apple() {} // 使用T类型定义构造器 public Apple(T info) { this.info = info; } public void setInfo(T info) { this.info = info; } public T getInfo() { return this.info; } public static void main(String[] args) { // 由于传给T形参的是String 所以构造器参数只能是String Apple
a1 = new Apple<>("苹果"); System.out.println(a1.getInfo()); // 苹果 // 由于传给T形参的是Double,所以构造器参数只能是Double Apple
a2 = new Apple<>(5.67); System.out.println(a2.getInfo()); // 5.67 }}本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6111673.html,如需转载请自行联系原作者
你可能感兴趣的文章
Nginx配置文件详细说明
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>
solr-4.10.4部署到tomcat6
查看>>
切片键(Shard Keys)
查看>>
淘宝API-类目
查看>>
virtualbox 笔记
查看>>
Git 常用命令
查看>>
驰骋工作流引擎三种项目集成开发模式
查看>>
SUSE11修改主机名方法
查看>>
jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
查看>>
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>