Java基础学习-泛型概述和测试
1.举例
首先先用集合来写个自定义对象存储并且去遍历。
package genericity;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class genericity {
    public static void main(String[] args) {
        /*创建集合对象*/
        Collection ce=new ArrayList();
        /*创建学生类对象*/
        Student st1=new Student("bai-boy", 19);
        Student st2=new Student("xiaoming", 20);
        /*集合中添加元素*/
        ce.add(st1);
        ce.add(st2);
        /*遍历集合*/
        Iterator it=ce.iterator();
        while(it.hasNext()) {
            String str=(String)it.next();
            System.out.println(it);
        }
    }
}
class Student{
    String name;
    int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
但是运行会报错。

这个错误呢是由于创建的Student对象不能转化为String。那么我们这里Java给我们一个机制就是泛型。
泛型:是一种广泛的类型,它把明确数据类型的工作提前到了编译时期而不是运行时期。
这里主要借鉴了数组。数组都是提前明确数据类型,不是同一的数据类型就不能添加进去。
那么我们什么时候使用泛型呢,打开API查看带有<E>就可以使用泛型了。
那我们用泛型来解决上面的问题
package genericity;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class genericity {
    public static void main(String[] args) {
        /*创建集合对象*/
        Collection<Student> ce=new ArrayList<Student>();
        /*创建学生类对象*/
        Student st1=new Student("bai-boy", 19);
        Student st2=new Student("xiaoming", 20);
        /*集合中添加元素*/
        ce.add(st1);
        ce.add(st2);
        /*遍历集合*/
        Iterator<Student> it=ce.iterator();
        while(it.hasNext()) {
            Student st=it.next();
            System.out.println("我叫"+st.name+",年龄:"+st.age);
        }
    }
}
class Student{
    String name;
    int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

以上就是泛型的概述和简单的使用。
Java基础学习-泛型概述和测试的更多相关文章
- Java基础学习_01 概述及环境配置
		一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ... 
- Java基础学习-接口-概述以及成员特点
		package interfaceclass; /*接口的概述: * 接口解决的问题: * 因为java中的继承的单一局限性(子类只能继承一个父类),为了打破这个局限,java语言提供了一个机制,接口 ... 
- Java基础学习——泛型
		一.泛型方法 /** 自定义泛型:自定义泛型可以理解为是一个数据类型的占位符,或者理解为是一个数据类型的变量. 泛型方法: 泛型方法的自定义格式:修饰符<声明自定义泛型>返回值类型 函数名 ... 
- 尚学堂JAVA基础学习笔记
		目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ... 
- Java基础学习笔记总结
		Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ... 
- java基础学习笔记五(抽象类)
		java基础学习总结——抽象类 抽象类介绍 
- Java基础学习-- 继承 的简单总结
		代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ... 
- Java基础学习中一些词语和语句的使用
		在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ... 
- 黑马程序员:Java基础总结----泛型(高级)
		黑马程序员:Java基础总结 泛型(高级) ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ... 
随机推荐
- Java RSA公钥加密,私钥解密算法的尝试
			https://www.cnblogs.com/liemng/p/6699257.html 写这篇博客其实是有点意外的,来源最初也算是入职当前这家公司算吧,由于项目要求数据几乎都进行了加密(政府项目么 ... 
- Centos75 解决Nginx出现403 forbidden(13: Permission denied)
			Centos75 新安装的vm,nginx出现403 forbidden 一般为SELinux设置为开启状态(enabled)的原因 切为root ,执行: sed -i 's/SELINUX=enf ... 
- Python3.x:chrome运行webdriver脚本提示--ignore-certificate-errors
			Python3.x:chrome运行webdriver脚本提示--ignore-certificate-errors 1,分析原因: 根本原因是Chromedriver和Chrome的版本不兼容: 网 ... 
- Python3.x:抢票
			Python3.x:抢票 一个妹子叫我帮她买动车票,结果竟然没买到票:好吧,不好意思说买不到票,写个抢票程序来完成吧: 1,Chromediver安装: 因为需要chrome支持页面测试,所以需要安装 ... 
- 20144303《Java程序设计》第10周学习总结
			20144303<Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程 ... 
- 关于C++中的string的小知识点
			这是GCC版本5.x的情况下的分析,在GCC版本4.x的情况下std::string的内存布局将不同.逆向C++的过程中经常遇到std::string,它在内存中的状态是什么样呢?我先简单地写了一个程 ... 
- SublimeText2 编辑器使用小结
			用SublimeText 2进行前端开发也有一段时间了,所谓“工欲善其事必先利其器”,前几日对照着网易课程又重新温习总结了一下有关SublimeText编辑器的使用方式,有所收获,在此进行一次小小的总 ... 
- Hive表的修改Alter
			1.查看创建表的信息 [show create table] hive> show create table student; OK createtab_stmt CREATE TABLE `s ... 
- linux如何以十六进制格式来查看任意文件
			答:vim+xxd 使用方法如下: 1.vim -b file.txt 2.在vim的命令行模式下对文件进行16进制转换 输入:%!xxd 3.在vim的命令行模式下回到正常格式 输入:%!xxd - ... 
- Java 面试题代码类收集
			long temp=(int)3.9; System.out.println(temp); temp%=2; System.out.println(temp); 3 1 Java里面类的方法名可以与类 ... 
