序列化布尔值为"1"和"0"而不是"true"和"false"

Mat*_*oli 11 java serialization boolean

我在Boolean类上找不到任何方法将布尔值序列化为"1"和"0"而不是"true"和"false".

有没有本地功能呢?如果没有,最好的方法是什么(最优化的方式)?

更新:我的确意味着要产生String一个Boolean.

Joa*_*uer 12

如果你正在谈论String从给定的产生a Boolean,那么没有,没有内置的方法产生"0"或"1",但你可以轻松地写它:

public static String toNumeralString(final Boolean input) {
  if (input == null) {
    return "null";
  } else {
    return input.booleanValue() ? "1" : "0";
  }
}
Run Code Online (Sandbox Code Playgroud)

根据您的使用情况,让它抛出一个NullPointerExceptionif input为null 可能更合适.如果是这种情况,那么您可以return单独将方法减少到第二行.