Java 5.0被忽略了的小动作

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。
早该加了。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页