站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题J2SE5.0新特性之自动装箱解箱

J2SE5.0新特性之自动装箱解箱

摘要: J2SE5.0新特性之自动装箱解箱

J2SE5.0新特性之自动装箱解箱<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

晁岳攀 smallnest@163.com

作为一个程序员,一个java程序员,在使用Map和Collection的时候,经常回遇到下面的情况:

Map map;

String name = map.get(“name”);

这里从map对象取出的值,需要强制转换成我们所需要的类型,这种情况在jsp中读取属性值的时候也经常遇到。

耶稣,您为什么不直接给我转成我需要的类型呢?

通过范型编程和对java语言的改进,我们现在自动实现装箱和解箱操作。看下面的例子:

<table class=MsoTableGrid style="BACKGROUND: #cccccc; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellSpacing=0 cellPadding=0 border=0> <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"> <td style="BORDER-RIGHT: #d4d0c8; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 426.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #d4d0c8; BACKGROUND-COLOR: transparent" vAlign=top width=568>

package com.kuaff.jdk5;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

public class Boxing

{

private Map map = new HashMap();

public Boxing()

{

map.put("date",new Date());

}

public void printDate()

{

Date date = map.get("date");

System.out.printf("当前时间:%s",date);

}

public static void main(String[] args)

{

Boxing box = new Boxing();

box.printDate();

}

}

</td></tr></table>

我们声明了一个String,Date类型的Map,用英语讲应该是(Map of String,Date),这样我们可以直接装箱map.put("date",new Date());和解箱Date date = map.get("date");

这个功能可能作用不是很大,至少我们可以少敲一些字母,爱护一下我们的键盘。



↑返回目录
前一篇: J2SE5.0新特性之Foreach
后一篇: J2SE5.0新特性之静态导入