Tag: 理论

等价方法超载为什么有必要?

我浏览了Google制作的一些JAVA代码,我发现了ImmutableSet: http : //google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableSet.html 他们用其他几种方法实现了of()方法: public static ImmutableSet of(E e1, E e2); public static ImmutableSet of(E e1, E e2, E e3); public static ImmutableSet of(E e1, E e2, E e3, E e4); public static ImmutableSet of(E e1, E e2, E e3, E e4, E e5); public static ImmutableSet of(E… elements); 我查看了此处的实施: https : //code.google.com/p/google-collections/source/browse/trunk/src/com/google/common/collect/ImmutableSet.java 有一个创建方法,具有以下签名: […]

定义初始化与构造函数初始化

在Java中,但在其他OO语言中,在其定义中初始化属性之间存在差异,如 class Example { public Sample sample_attribute = new Sample(); } 并使用构造函数初始化它? class Example { public Sample sample_attribute; public Example() { sample_attribute = new Sample(); } } 我想不出任何实际的区别,有吗? 否则,是否存在一种方法比另一种方法更好的情况,即使它们具有相同的结果?

比较两个Calendar对象

我想比较两个Calendar对象,看它们是否包含相同的日期。 我不关心天数以下的任何价值。 我已经实现了这个,我无法考虑它应该失败的任何情况: private static boolean areEqualDays(Calendar c1, Calendar c2) { SimpleDateFormat sdf = new SimpleDateFormat(“dd-MM-yyyy”); return (sdf.format(c1.getTime()).equals(sdf.format(c2.getTime()))); } 这种方法是正确的还是我应该逐场比较c1和c2?

同时,其他环

当然这在java(迄今为止)中是一个不可能的陈述,但理想情况下我想实现它,因为它是许多迭代的核心。 例如,第一次多次调用它在创建ArrayList时我正在做650,000次。 不幸的是,现实是我的实际代码没有在else循环中set ; 因此它会传递add和set命令并浪费时间。 之后我还在另一个循环中,它只执行集合,因为数据已经创建,并且这是多嵌套的,因此它是一个漫长的过程。 ArrayList dataColLinker = new java.util.ArrayList(); … … public void setLinkerAt( int value, int rowIndex) { … while(rowIndex >= dataColLinker.size()) { dataColLinker.add(value); } else { dataColLinker.set(rowIndex, value); } 任何想法或理论? 在if语句和ArrayList命令等方面,我不确定java的速度