2013-02-11 46 views
2

当你用Java编码时,你是否有一个经验法则,你很容易知道使用哪一个(大小或长度)?使用大小或长度是否有一个经验法则?

可以记住哪个数据结构有什么方法,但有没有更简单的方法呢?

例如,如果你定义了一个int数组,但是你需要使用ArrayList的长度。

(我的经验法则是使用数组的长度和大小像收集和ArrayList数据结构)

+2

像IntelliJ这样的IDE将帮助你排除这种情况。如果没有,请使用javadocs。不要背诵这样的琐事。 – duffymo 2013-02-11 18:22:05

+0

经验法则就足够了。如果需要的话,查找API。 – nhahtdh 2013-02-11 18:22:28

+0

我的经验法则就是对一切都使用相同的规则。实际上,长度比较难应用于像TreeSet或HashSet这样不直观的连续集合,但根据集合的种类,实际上不需要有两个不同的名称。 – Jack 2013-02-11 18:22:36

回答

5

经验法则是使用由API提供给您的字段或方法。就是这样。

如果您有像Eclipse这样的IDE,您可以键入列表名称,点击.键,然后等待显示公共字段或访问器列表,以便您可以滚动浏览并浏览正确的。这比记忆更容易(尽管记忆从长远来看可能会更好地为你服务)。

  • 原始阵列使用length
  • Strings(即CharSequences)使用length()
  • 和几乎所有其他人使用size()

(小编:中Collectionssize()功能使您只有数量填充的字段,而不是分配给Collection的字段的实际数量,每当其当前a )。

+0

我明白我可以使用API​​来帮助我,但是我想知道它背后的理由是什么,如果理解了理性,可以更容易地记住一个大小和一个长度。 – sheidaei 2013-02-11 18:24:21

+0

“几乎所有其他”使用size()=>是否有任何可以引用它的文档并使其它所有内容都可以使用?我认为其他的一切都使用Size(),但我不确定。 – sheidaei 2013-02-11 18:27:57

+0

没有理由,它只是发生。是的,这是糟糕的设计。 – starblue 2013-02-11 18:29:18

0

我会向你推荐这个相关的S.O.岗位:

count vs length vs size in a collection

这表明,该公约是基于成语和语言的细微差别,什么是直观的。

+0

这是关于Java还是一般说话?集合使用的大小也不在Java中。我错过了什么吗? – sheidaei 2013-02-11 18:30:22

相关问题