Java集合类-泛型

涎涎原创约 533 字大约 2 分钟...JavaJava

229-Java集合类-泛型.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

示例代码

package com.tencent.chapter02.泛型;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;

public class _01泛型 {

	public static void main(String[] args) {
		/**
		 * 没有使用泛型:
		 * 		1.集合中可以添加任意类型的元素
		 * 		2.导致获取元素时,只允许使用Object来接收,如果需要转换为元素的原始类型,需要强制转换
		 * 		3.容易出现造型错误
		 */
		ArrayList list = new ArrayList();
		list.add(null);
		list.add(null);
		list.add("abc");
		list.add(new String("abc"));
		list.add(10);  
		list.add(true);
		
		for (Object object : list) {
			//System.out.println(object);
			getType(object);
		}
		
		/**
		 * 使用泛型:
		 * 		1.集合中指定添加元素的类型
		 * 	    2.遍历获取元素时,不需要再强制转换
		 * 
		 * 		约束集合中只允许添加String类型的元素:
  					ArrayList<String> list = new ArrayList<String>();
  					
		 * 		约束集合中只允许添加Integer类型的元素:
  					ArrayList<Integer> list = new ArrayList<Integer>();

		 * 		约束集合中key为Integer类型,value为String类型:
  					HashMap<Integer,String> map = new HashMap<Integer,String>();

		 */
		//约束集合中只允许添加String类型的元素:
		ArrayList<String> list2 = new ArrayList<String>();
		list2.add("abc");
		//list2.add(10);
		list2.add("d");
		list2.add("e");
		list2.add("f");
		
		for (String element : list2) {
			System.out.println(element);
		}
		
		//约束集合中key为Integer类型,value为String类型:
		HashMap<Integer,String> map = new HashMap<Integer,String>();
		map.put(1, "张三");
		map.put(2, "李四");
		map.put(3, "王五");
		
		Set<Entry<Integer, String>> entrySet = map.entrySet();
		for (Entry<Integer, String> entry : entrySet) {
			Integer key = entry.getKey();
			String value = entry.getValue();
			
			System.out.println(key +"  " + value);
		}
	}
	/**
	 * 获取指定对象的原始类型
	 * @param object
	 */
	private static void getType(Object object) {
		if(object instanceof String)
		{
			String str = (String)object;
			System.out.println(str + "是一个String");
		}
		else if(object instanceof Integer)
		{
			Integer inte = (Integer)object;
			System.out.println(inte + "是一个Integer");
		}
		else if(object instanceof Boolean)
		{
			Boolean bool = (Boolean)object;
			System.out.println(bool + "是一个Boolean");
		}
		else
		{
			System.out.println(object + "是一个未识别的类型");
		}
	}
	
}

分割线


相关信息

以上就是我关于 Java集合类-泛型 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4