Java泛型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java泛型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2555字,纯文字阅读大概需要4分钟。
内容图文
![Java泛型](/upload/InfoBanner/zyjiaocheng/627/3a6268a0cb424b73bd4f5828dd730046.jpg)
package com.qf.demo01; import java.util.ArrayList; import java.util.Collection; import java.util.zip.CRC32; public class Test1Generics { public static void main(String[] args) { //1.不适用泛型 Collection c1 = new ArrayList(); c1.add("abc");//String-->Object c1.add(100);//int->Integer-->Object //for-each遍历 for(Object obj:c1){ if(obj instanceof String){ String s = (String) obj;//自己手动的向下转型 System.out.println(s); } } System.out.println("----------------------"); //2.使用泛型 Collection<String> c2 = new ArrayList<>(); c2.add("aaa");//String-->String c2.add("bbb"); c2.add("ccc"); c2.add("123");//String System.out.println(c2); for(String s:c2){ System.out.println(s); } // Collection<int> c3 = new ArrayList<>();//报错,不能明目张胆写基本类型作为泛型 Collection<Integer> c3 = new ArrayList<>(); c3.add(100);//int-->Integer,自动装箱 c3.add(200); // c3.add("123");//报错,不允许,,泛型Integer,就只能存储Integer的对象。。不能存储String等其他的类型了 for(int i:c3){//自动拆箱 System.out.println(i); } // Collection<Object> c4 = new ArrayList<String>();//必须前后一样 //课间练习:创建一个集合容器,声明泛型为Person,存储3个人的对象,然后使用for-each遍历输出。 } }
package com.qf.demo01; import java.util.ArrayList; import java.util.Collection; class Person{ private String name; private int age; @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } } public class Test2Generics { public static void main(String[] args) { //课间练习:创建一个集合容器,声明泛型为Person,存储3个人的对象,然后使用for-each遍历输出。 Collection<Person> c1 = new ArrayList<Person>(); Person p1 = new Person("王二狗", 18); Person p2 = new Person(); p2.setName("李小花"); p2.setAge(17); c1.add(p1);//p1 的地址 c1.add(p2);//p2的地址 c1.add(new Person("铁柱", 17));//匿名对象的地址 //equals():Object,Person类重写 System.out.println(c1.contains(p1));//判断c1中是否包含了p1 System.out.println(c1.contains(new Person("王二狗", 18)));//true System.out.println(c1.contains("王二狗"));// for(Person p:c1){ // System.out.println(p); System.out.println(p.getName()+"\t"+p.getAge()); } } }
内容总结
以上是互联网集市为您收集整理的Java泛型全部内容,希望文章能够帮你解决Java泛型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。