实例分析Java泛型

所属分类: 软件编程 / java 阅读数: 32
收藏 0 赞 0 分享

泛型:即“参数化类型”,所操作的数据类型被指定为一个参数。该机制允许程序员在编译时检测到非法的类型。

不使用泛型与使用泛型的区别

不使用泛型代码:

import java.util.ArrayList;
import java.util.List;

public class NoGenerics {
	public static void main(String[] args){
		List arrayList=new ArrayList();
		arrayList.add("1"); //字符类型
		arrayList.add(1); //数字类型
		
		for(int i=0;i<arrayList.size();i++){
			String s=(String) arrayList.get(i); //强制转换,但无法转换为字符类型,且编译不报错
			System.out.println(s);
		}
	}
}

使用泛型代码:

import java.util.ArrayList;
import java.util.List;

public class Generics {
	public static void main(String[] args){
		List<String> stringList = new ArrayList<String>();
		List<Integer> integerList = new ArrayList<>(); //简化
		
		stringList.add("1");
//		stringList.add(1); //编译报错,只能添加字符类型
		
		integerList.add(1);
//		integerList.add("1"); //编译报错,只能添加数字类型
		
		for(int i=0;i<stringList.size();i++){
			String s=stringList.get(i);
			System.out.println(s);
		}
		
		for(int j=0;j<integerList.size();j++){
			int i=integerList.get(j);
			System.out.println(i);
		}
		
	}
}

注意:在jdk版本较高中,List<String> stringList = new ArrayList<String>();可以简写为List<String> stringList = new ArrayList<>();

泛型的优点:

1、类型安全;例如List<String> 就只能插入String类型,简单来说就是限制类型。

2、消除强制类型转换;使得代码更加可读,并且减少了出错机会。

3、潜在的性能收益;泛型为较大的优化带来可能,没有泛型的话,程序员会指定这些强制类型转换。

注意:

1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。例如List<String,Person>

2、泛型的类型参数可以有多个,例如List<String,Integer>

更多精彩内容其他人还在看

java实现背单词程序

这篇文章主要为大家详细介绍了java实现背单词程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java实现单词查询小程序

这篇文章主要为大家详细介绍了java实现单词查询小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java程序开发环境配置图文教程

这篇文章主要为大家详细介绍了Java程序开发环境配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解ssh框架原理及流程

在本文中小编给大家整理的是关于ssh框架原理及流程的相关知识点内容,有此需要的朋友们可以学习下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解springmvc常用5种注解

在本篇里我们给大家总结了关于springmvc常用5种注解相关知识点以及实例代码,需要的朋友们参考下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作(2)

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Spring Boot假死诊断实战记录

这篇文章主要给大家介绍了关于Spring Boot假死诊断的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java计时新姿势StopWatch详解

这篇文章主要介绍了Java计时新姿势StopWatch,最近公司来了个大佬,从他那里学到不少东西,其中一个就是计时的新姿势「StopWatch」,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现点击按钮弹出新窗体功能

这篇文章主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多