20060408 星期六 四月 08, 2006

【转贴】类 DateFormatSymbols

去年最后一天SUN的JDK中文化项目发布第二部分,该阶段包括AWT(java.awt)、I/O(java.io)、文本格式化(java.text)三个包及其子包,加上10月31日发布的第一部分的java.lang和java.util,现在已有5个库的文档得到中文化支持,按照SUN的计划,最终工作将在5月31日完成。此次发布的包中有一个类恰好用于我的SmartCalendar小项目,把它的说明部分转贴如下:

=================================================
public class DateFormatSymbols extends Object implements Serializable, Cloneable

DateFormatSymbols 是一个公共类,用于封装可本地化的日期-时间格式化数据,如月名、星期几的名称和时区数据。DateFormatSimpleDateFormat 都使用 DateFormatSymbols 来封装此信息。

通常不应直接使用 DateFormatSymbols。相反,鼓励使用 DateFormat 类的工厂方法创建日期-时间 formatter:getTimeInstancegetDateInstancegetDateTimeInstance。这些方法自动为 formatter 创建一个 DateFormatSymbols,所以用户就不必再创建了。创建 formatter 后,可使用 setPattern 方法修改其格式模式。有关使用 DateFormat 的工厂方法创建 formatter 的更多信息,请参阅 DateFormat

如果要为具体的语言环境创建具有具体格式模式的日期-时间 formatter,可以:

 new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)).
 

DateFormatSymbols 对象是可克隆的。获得一个 DateFormatSymbols 对象后,即可随意修改日期-时间格式化数据。例如,可以使用便于记忆的字符替换已本地化的日期-时间格式模式字符。或者可以将有代表性的城市更改为最喜欢的城市。

要为其他语言环境进行日期-时间格式化,可添加新的 DateFormatSymbols 子类以支持 SimpleDateFormat

另请参见:
DateFormat, SimpleDateFormat, SimpleTimeZone
Posted by Samuel Lee in J2SE研究 at 20060408

20060405 星期三 四月 05, 2006

【转贴】-jar参数运行应用时classpath的设置方法 SmartCalendar 0.1 beta 准备要发布了,做jar的时候碰到了引用第三方jar库的老大难问题,幸好把以前摘抄的技巧用上了,嘿嘿~~~ [Read More] Posted by Samuel Lee in J2SE研究 at 20060405

5.0之new feature初体验(2005年10月) 说不是泛型,其实也是泛型——是那个所谓的auto-boxing/auto-unboxing(自动打包/自动解包),太tmd好用了。以前像随便输出个调试信息,譬如封装一下System.out.println(...)之类的都要区分基本类型还是对象实例,简直太愚昧了!

下面是以前写的傻乎乎的代码:
public Object getNextItem()
{
// current,first,last皆为Integer而非int
if (current.intValue() + 1 <= last.intValue())
return Integer.valueOf(current.intValue() + 1);
else
{// Reach tail
if (rollback)
return first;
else
return current;
}
}

再下面是用了auto-boxing/auto-unboxing特性的代码
public Object getNextItem()
{
if (current + 1 <= last)
return current + 1;
else
{// Reach tail
if (rollback)
return first;
else
return current;
}
}

看到了吧,只要是目标对象符合,操作上跟基本类型完全一样。这个功能在某种程度上部分抵销了Java没有运算符重载带来的不便。不过编译时要记得打开5.0的VM选项哦:
javac -target 5.0 XXX.java
结论:Generic果然是王道!
Posted by Samuel Lee in J2SE研究 at 20060405

【翻译】log4j的PatternLayout参数含义(2005年10月) 做项目被log4j的输出格式化参数搞烦了,索性把API的相关部分大致翻译一下,原文参见http://logging.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html  [Read More] Posted by Samuel Lee in J2SE研究 at 20060405

从Jar包获取资源的方法(2005年6月)

jungleford如是说

可能有不少初学者会有这样的困惑(以前我也有过):在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播放,而 一旦打包到jar文件中,这些东东就再也出不来了,除非把这个jar放到原来未打包以前的目录下,但通常jar是单独发布的。这里介绍一个解决这类问题的 方法。

[Read More] Posted by Samuel Lee in J2SE研究 at 20060405