今天實作如何從Object去轉為byte和如何從byte轉為Object。
首先,定義一個類別student:
package com.byteToObject; import java.io.Serializable; public class student implements Serializable{ private int sid; private String name; public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
然後定義轉換的主要方法,主要利用流進行轉換:
package com.byteToObject; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class Main { public static void main(String[] args) throws IOException, ClassNotFoundException { student stu = new student(); stu.setSid(123); stu.setName("wanger"); ByteArrayOutputStream byam = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(byam); oos.writeObject(stu); byte[] bytes = byam.toByteArray(); System.out.println(bytes.toString()); ByteArrayInputStream bais = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bais); student s = (student)ois.readObject(); System.out.println(s.getName()); } }
轉換結束。
@SuppressWarnings("unchecked") public List<T> findByConditions(String hql,Object... conditions) throws Exception{ Session session = getSessionFactory().getCurrentSession(); Query query = session.createQuery(hql); for (int i = 0; i < conditions.length; i++) { query.setParameter(i, conditions[i]); } return query.list(); }
Object是所有類別的基類,這個你可以查詢jdk文件了解,所有類別都繼承自Object。
Object ...objects(稱為可變個數的形參)這種參數定義是在不確定方法參數的情況下的一種多態表現形式。即這個方法可以傳遞多個參數,而這個參數的數量是不確定的。這樣你在方法體中需要相對應的做些處理。因為Object是基底類,所以使用Object ...objects這樣的參數形式,允許一切繼承自Object的物件作為參數。這種方法在實際中應該還是比較少用的。
Object[] obj這樣的形式,就是一個Object陣列所構成的參數形式。說明這個方法的參數是固定的,是一個Object數組,至於這個數組中儲存的元素,可以是繼承自Object的所有類別的物件。
以上是java Object轉byte與byte轉Object的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!