【问题标题】:Java: String to BooleanJava:字符串到布尔值
【发布时间】:2020-06-06 17:33:13
【问题描述】:

我必须从字段中读取String,然后将其转换为Boolean
我试过这个:

ObjectInputStream nm;
nm = new ObjectInputStream(new FileInputStream("buscamines.txt"));
String s = nm.readLine();
Boolean bool = Boolean.valueOf(s);

但它不起作用,当我打印字符串 s 时,它是正确的,但 Boolean 的值始终是 false

有没有其他方法可以将String 转换为Boolean

【问题讨论】:

  • 您在问题中写道:当我打印 String 时,它是正确的 也许s 包含前导(或尾随)空格?也许它包含非打印字符?我假设s 的值是true。建议你把s的长度打印出来看看是不是4。

标签: java boolean objectinputstream


【解决方案1】:

根据 Java 的 Boolean 文档:

public static Boolean valueOf(String s)
返回一个Boolean,其值由指定的字符串表示。如果字符串参数不是null,则返回的Boolean 表示一个真值,并且忽略大小写,等于字符串"true"

所以,这意味着:

System.out.print(Boolean.valueOf("true")); // -> true
System.out.print(Boolean.valueOf("TRUE")); // -> true
System.out.print(Boolean.valueOf("tRuE")); // -> true
System.out.print(Boolean.valueOf("false")); // -> false
System.out.print(Boolean.valueOf("anything else")); // -> false
System.out.print(Boolean.valueOf("TRUE ")); // -> false

【讨论】:

  • 字符串“TRUE”得到什么Boolean值(即带有尾随空格)?
  • @Abra System.out.print(Boolean.valueOf("TRUE ")); 将返回 false
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 2013-11-11
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2023-03-23
  • 2019-07-03
  • 2014-03-30
相关资源
最近更新 更多