Sunday May 24, 2009
Sunday Apr 05, 2009
Saturday Apr 04, 2009
Thursday Jul 10, 2008
Disclaimer: I don't think this is not obvious (at least to some) and it (this observation) might have been made by many. I just reached it independently.
Javadoc is a great tool. It helps understand the basic hierarchy of an API and its public implementation. It's no replacement for looking into the source code, however. Sometimes, it might be misleading to draw conclusions based on what normal Javadoc shows, without looking into the code. Here is an example:
The java.util.LinkedList inherits iterator() from java.util.AbstractSequentialList, which has a concrete implementation for iterator(). This method calls listIterator() which is inherited from java.util.AbstractList. This method in turn calls listIterator(int index) which has concrete implementation in java.util.LinkedList itself.
Thus, calling java.util.LinkedList.iterator() will result in calling listIterator(int) on the same instance of LinkedList.
Did LinkedList really inherit iterator() from AbstractSequentialList in that case?
It of couse inherited the Java method named iterator(), but it does not inherit (and does override) the behavior for iterator().
Conclusion: Read source code, and open source software is beneficial.
Monday Dec 17, 2007
).
public class Single {
private static Single ourInstance = new Single();
public static Single getInstance() {
return ourInstance;
}
private Single() {
}
}
I see at least two problems with this "default" code:
- The class should have been declared final.
- The variable ourInstance should have been declared final.
- Create a Java Interface
- Create a Class that implements that Interface with stubbed implementation for interface methods .
Motivation:
Quality criterion for boilerplate code is same as that for real code (in these days of fast search engines
).
Also, I am mildly surprised that it takes a lot of time for me to:
) and IDEA 7.0.
Friday Nov 02, 2007
13949712720901ForOSX
This blog copyright 2009 by bloggerkedar

