数据转换方法

将String 转换成Boolean的方法:
Boolean.parseBoolean(String).这个是正确的。
上次要用,上完搜到的是getBoolean();结果是错的。

详查之下得到的结论是:

public static boolean getBoolean(String name)当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true。(从 JavaTM 1.0.2 平台开始,字符串的测试不再区分大

小写。)通过 getProperty 方法可访问系统属性,此方法由 System 类定义。
如果没有以指定名称命名的属性或者指定名称为空或 null,则返回 false。


参数:
name - 系统属性名。
返回:
系统属性的 boolean 值。
另请参见:
System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)


这里需要注意的是“系统属性”,也就是说getBoolean是用于访问Java系统属性的方法,与将字符串"true"转成boolean的true没有任何关系。
换句话说这个getBoolean不是转换方法,而是获取Java系统属性的方法。



以下是Boolean.getBoolean的正确用法:


public class TestGetBoolean
{

public static void main(String[] args){



//大写的true返回为false,必须是小写的true
String s1 = "true";

String s2 = new String("true");

//这里将s1存放到Java系统属性中了.
System.setProperty(s1,"true");

System.setProperty(s2,"true");

//这里从系统属性中获取s1,所以获取到了。
System.out.println(Boolean.getBoolean(s1));//true

System.out.println(Boolean.getBoolean(s2));//true

String s3 = "true";

//很明显s3并没有存放到系统属性中所以返回false。
System.out.println(Boolean.getBoolean(s3));//false

//这个更是错的了,呵呵。
System.out.println(Boolean.getBoolean("true"));//false
}

}


以下是将字符串"true"转成boolean的true的正确用法:


正确用法:boolean repeatIndicator = Boolean.valueOf("true").booleanValue();
或者也可以使用Boolean.parseBoolean()方法,但此方法是jdk1.5以后推出的。

总结:

Java在将字符串的值转换为相应的类型时,需要多使用parse开头的方法,或者是valueOf之类的方法。

或直接强转也可以。

你可能感兴趣的:(转换)