java 中的Boolean如何直接打印出“是”或“否”

我们知道Boolean的toString方法是如下实现的:
public String toString() {
return value ? "true" : "false";
}

有没有什么简洁方法可以实现类似如下的功能?
public String toLocalString() {
return value ? "是" : "否";
}

这样在中文系统里我就不用每次都繁琐的写成:
if(**)
out.println("是");
else
out.println("否");
而是直接写成out.println(**.toLocalString());

要知道Boolean是final的,我没法继承它。

4个回答

没有那个必要吧?你可以这样写:
[code="java"]
out.println(b?"是":"否");[/code]
使用三元运算符很简单啊,看着还清楚

可以参考Boolean源码,实现与其类似的一个类,或叫ChBoolean.在这个类中

public String toString() {
return value ? "是" : "否";
}
必须继承类的老祖宗---Object类

[quote]没有那个必要吧?你可以这样写:
Java代码
out.println(b?"是":"否");

out.println(b?"是":"否");
使用三元运算符很简单啊,看着还清楚
[/quote]
同意楼上的观点,三元运算符很好很强大。

感觉好复杂,我用帆软报表遇到问题一般就直接打电话过去,感觉还挺方便的,一会就给你解决了

立即提问
相关内容推荐