Java Base API中最具误导性的方法是什么?[已关闭]
我最近试图将字符串文本转换为,当方法布尔布尔.get布尔(字符串名称)
从自动完成窗口中弹出时。还有另一种方法(布尔布尔布尔.parse布尔(String s))
紧随其后出现,这导致我搜索找出这两者之间的区别,因为它们似乎都做同样的事情。boolean
事实证明,真正的方法是检查是否存在给定名称的系统属性(!)以及其值为真
。我认为这非常具有误导性,因为我绝对不希望一种方法实际上正在调用System.getProperty
,并且仅通过查看方法签名,它肯定看起来(至少对我来说)应该用于将a解析为.当然,javadoc清楚地说明了这一点,但我仍然认为该方法有一个误导性的名称,并且它不在正确的位置。其他基元类型包装器,如也有类似的方法。Boolean.getBoolean(String name)
Boolean
String
boolean
Integer
此外,它似乎不是一个非常有用的方法,属于基本API,因为我认为拥有这样的东西并不常见。也许对于Java职位面试来说是一个好问题:“输出是什么?我相信这些方法更合适的位置是在 System
类中,例如 ;但同样,我仍然认为没有必要在基本API中使用这些方法。将它们放在类似类的地方是有意义的,在那里进行这种类型的转换非常普遍。-Darg=true
Boolean.getBoolean("true")
getPropertyAsBoolean
Properties
您如何看待这一切?另外,如果您知道另一种“尴尬”的方法,请发布它。
注意:贝我知道我可以使用或将字符串文本转换为 ,但我只是想讨论API设计。Boolean.valueOf
Boolean.parseBoolean
boolean