Creating an ArrayList that Works with Objects of a Specific Class

Container classes, like java.util.ArrayList, are general purpose object holders in the sense that they hold java.lang.Object references and not class specific references. Therefore, you can insert any object type in such containers. But what if we need an ArrayList that works with a specific class?

Here is the code:

 public class StringArrayList{   private ArrayList arl= new ArrayList();   public void add(String str)   {      arl.add(str);   }   public String get(int index)   {      return (String) arl.get(index);   }   public int size()   {      return arl.size();   }}


This encapsulates an ArrayList in StringArrayList and provides methods that act as surrogates to the ArrayList methods, thus ensuring only String objects are inserted and String objects are returned to the class’s user. This eliminated the need to downcast.

One final note: If you plan to use something like the above class and add other methods, never provide a method like this:

 public ArrayList getAll(){   return arl;}


This method is provides a reference to the encapsulated ArrayList allowing the class’ user to use this reference and insert objects( of any class) directly, which defeats the whole idea!

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS