我找不到任何方法 Boolean
将布尔值序列化为“1”和“0”而不是“true”和“false”的类。
有没有本地功能呢?如果没有,最好的方式是什么(最优化的方式)?
更新:我的意思是生产一个 String
出一个 Boolean
。
我找不到任何方法 Boolean
将布尔值序列化为“1”和“0”而不是“true”和“false”的类。
有没有本地功能呢?如果没有,最好的方式是什么(最优化的方式)?
更新:我的意思是生产一个 String
出一个 Boolean
。
如果 你在谈论制作一个 String
从给定的 Boolean
,然后不,没有内置方法产生“0”或“1”,但你可以很容易地写出来:
public static String toNumeralString(final Boolean input) {
if (input == null) {
return "null";
} else {
return input.booleanValue() ? "1" : "0";
}
}
根据您的使用情况,让它抛出一个更合适 NullPointerException
如果 input
一片空白。如果是这种情况,那么您可以将方法减少到第二个 return
单独行。
您可以使用 相比于:
public static Integer booleanToInteger(Boolean bool)
{
if(bool == null) return null;
else return bool.compareTo(Boolean.FALSE);
}
如果你想序列化为char,你可以做
public static char toChar(final Boolean b) {
return b == null ? '?' : b ? '1' : '0';
}
我不确定,只是把它扔出去。你可以使用自己的Decorator类。
使用Thrift API:
TSerializer serializer = new TSerializer(new TSimpleJSONProtocol.Factory());
String json = serializer.toString(object);
它将布尔值设置为0或1而不是true / false。