java Object转byte与byte转Object方式

目录
  • Object转byte与byte转Object
  • java中Object...的用法是什么意思?

Object转byte与byte转Object

今天实现一下如何从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(称为可变个数的形参)这种参数定义是在不确定方法参数的情况下的一种多态表现形式。即这个方法可以传递多个参数,这个参数的个数是不确定的。这样你在方法体中需要相应的做些处理。因为Object是基类,所以使用Object ...objects这样的参数形式,允许一切继承自Object的对象作为参数。这种方法在实际中应该还是比较少用的。

Object[] obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。

这些基础东西应该多看几遍"Think in java"。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java中如何判断JSONObject是否存在某个Key

    目录 判断JSONObject是否存在某个Key 检查json字符串中是否存在该key 下面介绍我自己的情况 判断JSONObject是否存在某个Key JSONObject jsonObj = new JSONObject(); jsonObj.put("version", "1.0.0"); // 版本号 jsonObj.put("encoding", "UTF-8"); // 编码方式 判断jsonObject是否存在v

  • java对list<Object>进行手动分页实现

    该方法使用的jdk1.6以后自带的分页工具类实现 public static void main(String[] args) { ArrayList list = new ArrayList<>(); list.add("Luo"); list.add("Tian"); list.add("yan"); list.add("23"); list.add("elegant"); list.add

  • 为什么不建议使用Java自定义Object作为HashMap的key

    目录 前言 踩坑历程回顾 hashCode覆写的讲究 为什么hashCode和equals要同时覆写 数据退出机制的兜底 总结 前言 此前部门内的一个线上系统上线后内存一路飙高.一段时间后直接占满.协助开发人员去分析定位,发现内存中某个Object的量远远超出了预期的范围,很明显出现内存泄漏了. 结合代码分析发现,泄漏的这个对象,主要存在一个全局HashMap中,是作为HashMap的Key值.第一反应就是这里key对应类没有去覆写equals()和hashCode()方法,但对照代码仔细一看却

  • 一文带你了解Java中的Object类及类中方法

    目录 1. Object类介绍 2. 重写toString方法打印对象 3. 对象比较equals方法 4. hashCode方法 1. Object类介绍 Object是Java默认提供的一个类.Java里面除了Object类,所有的类都是存在继承关系的.默认会继承Object父 类.即所有类的对象都可以使用Object的引用进行接收. 范例:使用Object接收所有类的对象 class Person{} class Student{} public class Test { public s

  • java如何将Object数组转换为指定类型数组

    目录 将Object数组转换为指定类型数组 1.转换函数 2.测试main函数 3.实体类 将Object转换为数组的情况 将Object数组转换为指定类型数组 1.转换函数     public static <T> T[] convertArray(Class<T> targetType, Object[] arrayObjects) {         if (targetType == null) {             return (T[]) arrayObject

  • java Object转byte与byte转Object方式

    目录 Object转byte与byte转Object java中Object...的用法是什么意思? Object转byte与byte转Object 今天实现一下如何从Object去转为byte和如何从byte转为Object. 首先,定义一个类student: package com.byteToObject;  import java.io.Serializable;  public class student implements Serializable{       private i

  • java的Array,List和byte[],String相互转换的方法你了解嘛

    目录 1.Array转List,通过java.util.Arrays.asList(T... a)参数是可变泛型参数 2.List转Array用.toArray(T[] a) 3.String转byte[] 4.byte[]转String 总结 1.Array转List,通过java.util.Arrays.asList(T... a)参数是可变泛型参数 注意,Arrays.asList返回的类型是不可变长度的集合,底层是final修饰的泛型数组[泛型数组可以理解为Object[]] 和我们常用

  • java发送heartbeat心跳包(byte转16进制)

    复制代码 代码如下: package com.jxy.web; import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.Socket;import java.net.UnknownHostException; import com.jxy.tools.MyByte; pu

  • Java从JDK源码角度对Object进行实例分析

    Object是所有类的父类,也就是说java中所有的类都是直接或者间接继承自Object类.比如你随便创建一个classA,虽然没有明说,但默认是extendsObject的. 后面的三个点"..."表示可以接受若干不确定数量的参数.老的写法是Objectargs[]这样,但新版本的java中推荐使用...来表示.例如 publicvoidgetSomething(String...strings)(){} object是java中所有类的父类,也就是说所有的类,不管是自己创建的类还是

  • Java 输入流中的read(byte[] b)方法详解

    我就废话不多说了,大家还是直接看代码吧~ public int read(byte[] b) throws IOException 从一个输入流中读取一定数量的字节,并将这些字节存储到其缓冲作用的数组b中.这个函数会返回一次性读取的字节数. 这个函数是一个阻塞式的函数,当它读到有效数据.确认的文件尾(EOF)或者抛出一个异常时它才会执行其他语句,否则一直停在read()函数处等待. 比如下面的列子: ServerSocket server = new ServerSocket(port) Soc

  • Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方式

    目录 前言 错误原因 案例1: 案例2: 错误解决方案 案例1解决方案: 案例2解决方案: 结论 前言 当我们编写任何程序时,都会遇到一些错误,会让我们有挫败感,所以我有一个解决方案给你. 今天在这篇文章中,我们将讨论错误类型error: 'int' object is not iterable. 我们将讨论为什么会出现此错误以及此错误的一些可能解决方案.请务必阅读到最后,以节省大量调试此错误的时间. 首先,让我们了解“iterable”(可迭代)一词的含义? 可迭代是我们可以从中获取值并相应地

  • Java 从网上下载文件的几种方式实例代码详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.github.pandafang.tool; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.nio.chan

  • 详解Java中数组判断元素存在几种方式比较

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String containValue){ return Arrays.asList(arr).contains(containValue); } 需要注意的是Arrays.asList这个方法中转换的List并不是java.util.ArrayList而是java.util.Arrays.ArrayList,其中java.

  • Java使用MyBatis框架分页的5种方式

    本文为大家分享了Java使用MyBatis框架分页的五种方式,供大家参考,具体内容如下 初始准备 1.创建分页对象类,方便模块间传值 //PageInfo.java import lombok.Data; @Data public class PageInfo { private int pageNo; private int pageSize; } 2.定义DAO层接口 import org.apache.ibatis.session.RowBounds; import org.springf

  • java List去掉重复元素的几种方式(小结)

    使用LinkedHashSet删除arraylist中的重复数据(有序) LinkedHashSet是在一个ArrayList删除重复数据的最佳方法.LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 List<String> words= Arrays.asList("a","b","b","c","c","d"); HashSet<

随机推荐