TRANSIENT (JAVA)

Jujur, ada 1 bagian di JAVA yang belum paham manfaat real nya apa, salah satunya adalah SERIALIZABLE. Nah dari 1 bagian itu, jadi kenal yang namanya TRANSIENT, intinya, tipe TRANSIENT itu menunjukkan bahwa objek tersebut tidak menjadi bagian serializable.

Kurang lebih simulasi nya sbb:

  • Class transient (SampleTransientObject.java)
  • import java.io.Serializable;
     
    public class SampleTransientObject implements Serializable {
    	private transient int x;
    	private String keyName;
     
    	public int getX() {
    		return x;
    	}
    	public void setX(int x) {
    		this.x = x;
    	}
    	public String getKeyName() {
    		return keyName;
    	}
    	public void setKeyName(String keyName) {
    		this.keyName = keyName;
    	}
    }
  • Proses write & read object serializable
  • import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
     
    public class SampleMainTransient {	
    	public static void main(String args[]) {
    		ObjectOutputStream os;
    		try {
    			// membentuk objek ke file
    			os = new ObjectOutputStream(new FileOutputStream("arifff"));
    			SampleTransientObject sto = new SampleTransientObject();
    			sto.setX(10);
    			sto.setKeyName("name");			
    			os.writeObject(sto);
    			os.flush();
    			os.close();
     
    			// membaca objek dari file
    			ObjectInputStream is = new ObjectInputStream(new FileInputStream("arifff"));
    			SampleTransientObject stoNew = (SampleTransientObject) is.readObject();
    			System.out.println("=== output ===");
    			System.out.println(stoNew.getKeyName() + " " + stoNew.getX());
     
    			is.close();			
    		} catch (IOException | ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }

Output ketika objek x di SampleTransientObject transient : name 0
Output ketika objek x di SampleTransientObject tidak transient : name 10

CMIIW :).

Marifnst, 2014-07-15

Leave a Reply

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

Afiseaza emoticoanele Locco.Ro