今天实现一下如何从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中文网其他相关文章!