在很多地方(我们的主数据库中有200个,其他地方有更多)我们有布尔值的配置。
我们有一个特殊的函数接受默认值,当前的配置可以为null。如果null返回默认值。如果没有尝试输出字符串(Y表示是),否则传递给java Boolean
什么是可接受的:y,yes,1,true(不区分大小写)
我工作的所有项目都需要这样的东西。
由于某些prefs属于一个通用框架,我们没有到处都有下拉列表,并且会将其作为文本框和描述呈现。
问题: 1.如果你有很多布尔什么是你的策略 - 自定义函数或只使用Java的那些东西? 2.你不认为java布尔应该接受y为真,因为很多人输入为真(或是)
不使用java.util.prefs.Preferences,但也有“有效字符串为”true“,表示true,”false“表示false。案例被忽略,”
更好的解析器 - 不是关于代码优化,而是关于拥有更多功能 - 识别普通人类词语的意思
答案 0 :(得分:1)
您的问题适用于意见,但我会尽量避免 -
1)这取决于应用程序的要求。
2)事实上,java布尔值的行为并不那样(如果确实如此,它会非常注重英语)。例如,法语是oui,德语是ja,俄语是da。
最后,代码可以转换你的" truthy" String(s)到Boolean(s)几乎肯定不是关键路径。请不要optimize prematurely,这是邪恶的。