泛型一

编程入门 行业动态 更新时间:2024-10-22 16:48:33

泛型一

泛型一

泛型的基本概念:泛型是Java SE 1.5以后的新特性,泛型的本质是 参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别成为泛型类、泛型方法,泛型接口。Java语言引入泛型的好处是简单安全。

ArrayList<Book> myPackage = new ArrayList<Book>();

泛型可以约束集合里面的数据类型,提高集合的安全性、健壮性,也方便了集合的遍历。

public class Books {String name;String press;double price;Books(String name, String press, double price){this.name = name;this.press = press;this.price = price;}/*public String toString(){return "书名:"+this.name+",出版社"+this.press+",价格:"+this.price;}*///返回图书基本信息public String showInfo(){return "书名:"+this.name+",出版社:"+this.press+",价格:"+this.price;}
}

import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Books> list = new ArrayList<Books>();list.add(new Books("红楼梦", "人民文学出版社", 150));list.add(new Books("西游记", "人民文学出版社", 100));list.add(new Books("三国演义", "人民文学出版社", 120));list.add(new Books("水浒传", "人民文学出版社", 200));for(int i = 0; i < list.size(); i++){System.out.println(list.get(i).showInfo());//如果不使用泛型,就必须强制类型转换}}}

foreach循环

1.只适用于数组或者集合类型

for(类型 变量:集合)

{

}

2.使用了泛型的集合类型,无需数据类型转换,方便了遍历。

<span style="white-space:pre">		</span>int[] arr = {0, 1, 2, 3};for (int i : arr) {i++;System.out.println(i);}System.out.println("i++之后--------------------");//foreach循环是只读的for (int i : arr) {System.out.println(i);}

输出结果为:

1
2
3
4
i++之后--------------------
0
1
2
3

泛型类:

public class A<T> {private T obj;A(T obj){this.obj = obj;}public void showType(){System.out.println("对象的实际类型是:"+this.obj.getClass().getName());}public static void main(String[] args) {A obj = new A(100);obj.showType();obj = new A("hello");obj.showType();obj = new A(new Books("呐喊", "人民出版社", 40));obj.showType();}
}

输出结果:

对象的实际类型是:java.lang.Integer
对象的实际类型是:java.lang.String
对象的实际类型是:Books


更多推荐

泛型一

本文发布于:2024-02-06 22:41:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1751522.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:泛型一

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!