CLDC1.1的新特性

CLDC 1.1(JSR 139)专家组成员对CLDC Specification 1.0版基本满意,他们不认为在新的规范中需要作什么根本上的修改。因此,CLDC Specification 1.1版基本上只是一个增补版,并且是对CLDC Specification 1.0版完全向后兼容的。一些重要的新功能,如对浮点的支持,被加入到这个新版本中。

1. 增加对浮点数据的支持

2. 核心类库中增加java.lang.Float类和java.lang.Double类

3. 部分支持弱参考(weak references)

4. Calendar、Date和TimeZone类被重新设计

5. 与J2SE中的类更加类似

6. 对错误处理有了更加明确的定义

7. 并增加了 NoClassDefFoundError 类

8. 对于Thread类

9. CLDC1.1允许为线程命名

10. 并通过getName() 方法得知线程的名字

11. 增加interrupt()方法

12. 允许中断线程;增加了新的构造方法。

13. 对一些类库进行了小的修改

14. 以下的方法被添加或是修正: Boolean.TRUE and Boolean.FALSE Date.toString() Random.nextInt(int n) String.intern() String.equalsIgnoreCase()

15. 由于允许使用浮点运算

16. 设备的最小内存被提高到160 至 192 KB

下面列出CLDC1.1增加的类和方法:

1. 增加java.lang.Float和java.lang.Double类

2. 增加以下和浮点数据相关的方法

java.lang.Integer.doubleValue()

java.lang.Integer.floatValue()

java.lang.Long.doubleValue()

java.lang.Long.floatValue()

java.lang.Math.abs(double a)

java.lang.Math.abs(float a)

java.lang.Math.max(double a, double b)

java.lang.Math.max(float a, float b)

java.lang.Math.min(double a, double b)

java.lang.Math.min(float a, float b)

java.lang.Math.ceil(double a)

java.lang.Math.floor(double a)

java.lang.Math.sin(double a)

java.lang.Math.cos(double a)

java.lang.Math.tan(double a)

java.lang.Math.sqrt(double a)

java.lang.Math.toDegrees(double angrad)

java.lang.Math.toRadians(double angrad)

java.lang.String.valueOf(double d)

java.lang.String.valueOf(float f)

java.lang.StringBuffer.append(double d)

java.lang.StringBuffer.append(float f)

java.lang.StringBuffer.insert(int offset, double d)

java.lang.StringBuffer.insert(int offset, float f)

java.io.DataInput.readDouble()

java.io.DataInput.readFloat()

java.io.DataInputStream.readDouble()

java.io.DataInputStream.readFloat()

java.io.DataOutput.writeDouble(double v)

java.io.DataOutput.writeFloat(float v)

java.io.DataOutputStream.writeDouble(double v)

java.io.DataOutputStream.writeFloat(float f)

java.io.PrintStream.print(double d)

java.io.PrintStream.print(float f)

java.io.PrintStream.println(double d)

java.io.PrintStream.println(float f)

java.util.Random.nextDouble()

java.util.Random.nextFloat()

3. 增加浮点计算常量е和圆周率π:

java.lang.Math.E

java.lang.Math.PI

4. 增加弱参考类java.lang.ref.Reference和java.lang.ref.WeakReference。

5. 新增错误类NoClassDefFoundError。

6. 增加Thread类的构造函数及方法:

Thread.getName()

Thread.interrupt()

Thread(Runnable Target, String name)

Thread(String name)

7. 新增的一些常数及方法:

java.lang.Boolean.TRUE and java.lang.Boolean.FALSE

java.lang.String.intern()

java.lang.String.equalsIgnoreCase()

java.util.Date.toString()

java.util.Random.nextInt(int n)

要查看CLDC1.1更详细的变化可以去Sun的网站下载CLDC1.1的规范http://www.jcp.org/en/jsr/detail?id=139.