为什么ArrayList没有getSize()而不是size()?
我在某些JSP页面中大量使用ArrayList。我想像这样访问一个ArrayList:
${myArrayList.size}
但是由于对象必须符合JavaBean标准myArrayList.getMyPropertyName()
(${myArrayList.myPropertyName}
在JSP
/ JSTL中),因此该myArrayList.size()
函数不可访问。
我还应该使用其他课程吗?
更新:
很难接受这样的功能,例如仅在清洁的衬板上保留了JSP中的ArrayList的大小之类的功能,但似乎还有其他原因是设计师选择了该功能.size()
而不是.getSize()
我想如果您支持${fn:length(myArrayList)}
或${myArrayList.getSize()}
语法,这的确不是问题。
回答:
标题说明了一切:为什么ArrayList没有getSize()而不是size()?
如“ Java Collections
API设计常见问题解答
”中所述:
尽管新集合方法的名称不遵循“
Beans命名约定”,但我们认为它们是合理,一致且适合其目的的。应当记住,Bean命名约定不适用于整个JDK。AWT确实采用了这些公约,但是该决定有些争议。我们怀疑collections
API会被广泛使用,通常在一行代码上使用多个方法调用,因此名称简短很重要。考虑例如Iterator方法。当前,对集合的循环如下所示:
对于(迭代器i = c.iterator(); i.hasNext();)
System.out.println(i.next());
即使Collection名称是一个长表达式,所有内容都可以整齐地放在一行中。如果我们将方法命名为“ getIterator”,“
hasNextElement”和“ getNextElement”,那么情况将不再如此。因此,我们采用了“传统的” JDK样式而不是Beans样式。
以上是 为什么ArrayList没有getSize()而不是size()? 的全部内容, 来源链接: utcz.com/qa/403468.html