2017-08-08 54 views
0

为什么模拟toLowerCase和toUpperCase方法对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

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