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

