java Object轉byte與byte轉Object方式
Object轉byte與byte轉Object
今天實現(xiàn)一下如何從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());?? ??? ? ?? ?} }
轉換結束。
java中Object...的用法是什么意思?
@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(稱為可變個數(shù)的形參)這種參數(shù)定義是在不確定方法參數(shù)的情況下的一種多態(tài)表現(xiàn)形式。即這個方法可以傳遞多個參數(shù),這個參數(shù)的個數(shù)是不確定的。這樣你在方法體中需要相應的做些處理。因為Object是基類,所以使用Object ...objects這樣的參數(shù)形式,允許一切繼承自Object的對象作為參數(shù)。這種方法在實際中應該還是比較少用的。
Object[] obj這樣的形式,就是一個Object數(shù)組構成的參數(shù)形式。說明這個方法的參數(shù)是固定的,是一個Object數(shù)組,至于這個數(shù)組中存儲的元素,可以是繼承自Object的所有類的對象。
這些基礎東西應該多看幾遍"Think in java"。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
IntelliJ IDEA 創(chuàng)建spring boot 的Hello World 項目(圖解)
這篇文章主要介紹了IntelliJ IDEA 創(chuàng)建spring boot 的Hello World 項目的步驟詳解,需要的朋友可以參考下2018-01-01activemq整合springboot使用方法(個人微信小程序用)
這篇文章主要介紹了activemq整合springboot使用(個人微信小程序用),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03