GWT'Ctring'toLowerCase和toUpperCase仿真

时间:2017-08-08 16:07:35

标签: gwt

为什么在GWT中字符串上的toLowerCase和toUpperCase方法的仿真不同?

public String toLowerCase() { return asNativeString().toLowerCase(); }

public String toUpperCase() { return asNativeString().toLocaleUpperCase(); }

大写方法正在进行特定于语言环境的转换,这会给土耳其用户带来问题。是否有一个很好的解决方法使toUpperCase工作类似于toLowerCase

代码: https://github.com/gwtproject/gwt/blob/a90832fec9a56f4cb83ed009c7048e0a8d196fe8/user/super/com/google/gwt/emul/java/lang/String.java#L708

1 个答案:

答案 0 :(得分:1)

这是一个错误,2.8.0中的回归。在任何情况下,您都不应该依赖toUpperCase()toLowerCase()输出,因为它们是依赖于区域设置的(尽管在GWT中不应该是这种情况,为了向后兼容,如链接文件中的注释中所述);你应该传递一个明确的语言环境,很可能是Locale.ROOT