J2ME字符串与基本类型的转换

MIDlet 在运作时,可以透过MIDlet.getAppProperty()函式来取得清单文件或描述文件之中属性的属性值,取得之后都视为字符串。如果我们需要做一些数学运算,就必须先把字符串转换成数值才才行。

要把字符串转换成数值,必须倚靠定义在java.lang 之中的Byte、Short、Integer、Long 四个类别之中的parseXXX()方法,这四个类别都是整数型别,只有范围上的不同,如果我们截取的字符串,转换成数值之后超过该型态所能负担的范围,就会产生例外情况。

由于在CLDC 1.0 并不支持浮点数,所以并没有对应浮点数的类别,只有整数型别的类别。但是在CLDC 1.1 之后开始支持浮点数,所以在CLDC 1.1 之后会开始新增Float、Double 两个类别。

假设我们有两个自订属性,分别是MyAttr1 与MyAttr2,其中MyAttr1 的值为3、MyAttr2 的值为6。

我们要将两个值取出,相乘之后输出在屏幕上,范例程序如下:

//TransformTest.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class TransformTest extends MIDlet {
    public TransformTest() {
    }

    public void startApp() {
        String attr1 = getAppProperty("MyAttr1");
        String attr2 = getAppProperty("MyAttr2");
        int attr1val1 = Integer.parseInt(attr1);
        int attr1val2 = Integer.parseInt(attr2);
        System.out.println(attr1val1 * attr1val2);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

执行结果:
18

取出字符串之后,我们还可以利用java.lang.Character 来判断某个字符是否为数字、英文字母大写、英文字母小写。也可以利用此类别转换英文字母的大小写。