java Object轉(zhuǎn)byte與byte轉(zhuǎn)Object方式
Object轉(zhuǎn)byte與byte轉(zhuǎn)Object
今天實(shí)現(xiàn)一下如何從Object去轉(zhuǎn)為byte和如何從byte轉(zhuǎn)為Object。
首先,定義一個(gè)類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; ?? ?}? }
然后定義轉(zhuǎn)換的主要方法,主要利用流進(jìn)行轉(zhuǎn)換:
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());?? ??? ? ?? ?} }
轉(zhuǎn)換結(jié)束。
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是所有類的基類,這個(gè)你可以查詢jdk文檔了解,所有類都繼承自O(shè)bject。
Object ...objects(稱為可變個(gè)數(shù)的形參)這種參數(shù)定義是在不確定方法參數(shù)的情況下的一種多態(tài)表現(xiàn)形式。即這個(gè)方法可以傳遞多個(gè)參數(shù),這個(gè)參數(shù)的個(gè)數(shù)是不確定的。這樣你在方法體中需要相應(yīng)的做些處理。因?yàn)镺bject是基類,所以使用Object ...objects這樣的參數(shù)形式,允許一切繼承自O(shè)bject的對(duì)象作為參數(shù)。這種方法在實(shí)際中應(yīng)該還是比較少用的。
Object[] obj這樣的形式,就是一個(gè)Object數(shù)組構(gòu)成的參數(shù)形式。說明這個(gè)方法的參數(shù)是固定的,是一個(gè)Object數(shù)組,至于這個(gè)數(shù)組中存儲(chǔ)的元素,可以是繼承自O(shè)bject的所有類的對(duì)象。
這些基礎(chǔ)東西應(yīng)該多看幾遍"Think in java"。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA 創(chuàng)建spring boot 的Hello World 項(xiàng)目(圖解)
這篇文章主要介紹了IntelliJ IDEA 創(chuàng)建spring boot 的Hello World 項(xiàng)目的步驟詳解,需要的朋友可以參考下2018-01-01Java客戶端調(diào)用.NET的WebService實(shí)例
下面小編就為大家?guī)硪黄狫ava客戶端調(diào)用.NET的WebService實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Springboot初始化項(xiàng)目并完成登入注冊(cè)的全過程
工作之余,想要學(xué)習(xí)一下SpringBoot,通過網(wǎng)絡(luò)大量教程最終成功運(yùn)行SpringBoot項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于Springboot初始化項(xiàng)目并完成登入注冊(cè)的相關(guān)資料,需要的朋友可以參考下2022-10-10activemq整合springboot使用方法(個(gè)人微信小程序用)
這篇文章主要介紹了activemq整合springboot使用(個(gè)人微信小程序用),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03