Cerita Set (Collection di JAVA)

Ada yang unik dari salah satu bentuk teori “Generics and Collection” JAVA, khususnya Set dan anak-anaknya (TreeSet dkk). Jadi, kalau collections tersebut diisi berbeda tipe data, misal diisi Integer, kemudian String, maka akan kena Error. Tetapi hal tersebut tidak berlaku untuk collection lain, disini sih baru dicoba List & Map.

Berikut simulasi nya :

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
 
class SampleMain {
 
	public static void main(String[] args) {
		try {
			Map m = new HashMap();
			m.put("1", "a");
			// skenario error 1
			m.put(2, "b");
			// skenario error 2
			m.put("3", 3);
		} catch (Exception e) {
			System.out.println("error 0 : " + e);
		}
 
		try {
			List l =new ArrayList<>();
			l.add("1");
			// skenario error
			l.add(2);
			l.add("3");	
		} catch (Exception e) {
			System.out.println("error 1 : "+ e);
		}
 
		try {
			Set<Object> ss = new TreeSet<>();
			ss.add("1");
			// skenario error
			ss.add(2);
			ss.add("3");	
		} catch (Exception e) {
			System.out.println("error 2 : " + e);
		}
 
		try {
			Set s = new TreeSet<>();
			s.add("1");
			// skenario error
			s.add(2);
			s.add("3");	
		} catch (Exception e) {
			 System.out.println("error 3 : " + e);
		}
	}
}

Menghasilkan output :

error 2 : java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
error 3 : java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

CMIIW :).

Marifnst, 2014-07-22

Leave a Reply

Your email address will not be published. Required fields are marked *

Afiseaza emoticoanele Locco.Ro