File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Coding to an interface Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Coding to an interface" Watch "Coding to an interface" New topic
Author

Coding to an interface

Rajiv Rai
Ranch Hand

Joined: Jun 14, 2010
Posts: 57
What is the benefit of the following statement

List l = new ArrayList();


over the following statement



ArrayList l = new ArrayList();
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11229
    
  16

by itself, not much.

However, in the 'real world', you won't always have control like this. Another team may be working on code, and they'll say "we're going to give you a list".

If you find out they are giving you an ArrayList and hard-code it to be such, you are locking in a specific implementation. So you write all your code, relying on it being an ArrayList. The other team then changes their code and returns some other list type. Your code is now broken.

However, if you coded your side to be a List, they can change their code to return ANY list type, and you don't have to change yours at all.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38353
    
  23
There is a very similar question here. Reading that discussion might help you.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Coding to an interface