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)
- Proses write & read object serializable
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; } } |
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