论坛首页 Java企业应用论坛

Java 1.5被忽略了的小动作

浏览 17167 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-05-27  
OO

    人们在谈论Java 1.5的特性的时候,往往集中在范型、注释、concurrent等大的改进方面。而1.5API里的一些小动作往往容易被人忽略,其实这些新增的API小函数还是能给我们带来很多的便利。我总结了一下我常用的几个,罗列如下:

1、format和printf
    非常怀念C语言里printf的format,JSDK 1.5 API提供了相同的功能。
    PrintStream 和 PrintWriter 增加了一个 printf(String format, Object ... args) 方法。

2、浮点数的toHexString()方法。
    作二进制分析,少不了要toHexString(),以前Integer/Long等都提供了toHexString()方法。而在1.5里,Double和Float也提供了toHexString()方法。这太令我高兴了,要知道整型转HexString很简单,但浮点型转Hex String真的有点儿麻烦。现在简单了。

3、Interger位操作的扩充函数。
    Interger的位操作扩充了好几个便利的方法。如果你经常做IP头分析,或者加密解密。你就知道这些函数该多有用。
        public static int highestOneBit(int i) 返回这个2进制数最左的那个1,将其后置0  
        public static int lowestOneBit(int i)
        public static int numberOfLeadingZeros(int i)
        public static int numberOfTrailingZeros(int i)
        public static int bitCount(int i)
        public static int rotateLeft(int i, int distance)  位左旋
        public static int rotateRight(int i, int distance) 位右旋
        public static int reverse(int i) 倒置
        public static int signum(int i) 判断符号(正负零) 。直接返回int最高位的数值。比起 return i == 0 ? 0 : i > 0 ? 1 : -1 要快多了。
        public static int reverseBytes(int i) 按字节倒置  在网络传输处理时特有用。做过C++的人没有会不记得htons() ntohs()

4、System.nanoTime() 取得纳秒级时间。
    你可能还没遇到过需要取得纳秒的时候,即便做准实时毫秒也就够了。但著名的java.util.concurrent,可都是用nano seconds来记时和加锁的。

5、System.clearProperty(String key) 清除一个属性。
    从前有getProperty()有setProperty(),但没有remove。我以前总是设成一个无用的数值。

6、Method增加的几个方法中,下面几个特有用:
        public TypeVariable<Method>[] getTypeParameters()
        public Type[] getGenericParameterTypes()
        public Type[] getGenericExceptionTypes()
        public boolean isVarArgs()
   
7、Double/Float/Long/Integer/Short/Byte等,都加入了一个静态常量 SIZE ,如Double.SIZE = 64。
    早该加了。

 

 

 

 

 

 

 

 

------------------------------------------------------------------------------------------------------------

KO对战游戏平台 www.ko10000.com 打游戏,交朋友。

   发表时间:2008-05-27  
确实关心很少!因为用得少!
0 请登录后投票
   发表时间:2008-05-27  
很多JDK更新的时候新加的功能没人知道。比如NIO包其实1.4就有了,但是大规模应用还是最近的事情。
0 请登录后投票
   发表时间:2008-05-28  
魔力猫咪 写道
很多JDK更新的时候新加的功能没人知道。比如NIO包其实1.4就有了,但是大规模应用还是最近的事情。

1.4除了NIO还有更多别人忽略的有用的东西。我有空再整理出来。
0 请登录后投票
   发表时间:2008-05-28  
非常感谢,JDK内容太广泛了。您的整理很又帮助。
0 请登录后投票
   发表时间:2008-05-29  
media包的东西。好像我根本就没用过.
0 请登录后投票
   发表时间:2008-05-29  
收益很多
0 请登录后投票
   发表时间:2008-05-30  
呵呵 没想到还有这么多呢
0 请登录后投票
   发表时间:2008-05-30  
目前还没用过format
注释可能用的最多吧
0 请登录后投票
   发表时间:2008-05-30  
其实也就是到需要用的时候才会关系,比较里面的东西太多了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics