java Object转数组
时间: 2023-11-11 12:07:52 浏览: 41
可以使用Java中的for循环,将每个Java对象转换为对应的int值,并逐个存储到int数组中。具体实现方式如下:
1. 声明一个Java对象数组和一个int数组
```java
Object[] objArr = {1, "abc", true};
int[] intArr = new int[objArr.length];
```
2. 遍历Java对象数组,将每个对象转换为对应的int值,并存储到int数组中
```java
for (int i = 0; i < objArr.length; i++) {
intArr[i] = Integer.parseInt(String.valueOf(objArr[i]));
}
```
3. 最后得到的int数组中存储的就是Java对象数组中每个对象转换为int类型的值。
相关问题
java object转数组
将Java Object转换为数组需要根据对象的类型进行不同的处理。以下是几种常见对象类型的转换方法:
1. 数组类型的对象转数组
如果要将数组类型的对象转换为数组,可以使用Java中的Arrays类的静态方法:
```
Object[] objectArray = new Object[] { "Hello", "World" };
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);
```
2. 集合类型的对象转数组
如果要将集合类型的对象转换为数组,可以使用Java中的Collection接口的toArray()方法:
```
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("World");
String[] stringArray = list.toArray(new String[0]);
```
3. 自定义对象类型的对象转数组
如果要将自定义对象类型的对象转换为数组,需要先获取对象的属性值,然后将属性值存储到数组中。例如:
```
class Person {
private String name;
private int age;
// getters and setters
}
Person person = new Person();
person.setName("John");
person.setAge(30);
Field[] fields = person.getClass().getDeclaredFields();
Object[] values = new Object[fields.length];
for (int i = 0; i < fields.length; i++) {
fields[i].setAccessible(true);
try {
values[i] = fields[i].get(person);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
System.out.println(Arrays.toString(values));
```
object转数组 java
以下是Java中将对象转换为字节数组的三种方法:
1.使用ObjectOutputStream和ByteArrayOutputStream类
```java
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(object);
byte[] byteArray = bos.toByteArray();
```
2.使用ByteArrayOutputStream和DataOutputStream类
```java
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
dos.writeUTF(object.toString());
byte[] byteArray = bos.toByteArray();
```
3.使用ByteBuffer类
```java
ByteBuffer buffer = ByteBuffer.allocate(1024);
buffer.put(object.toString().getBytes());
byte[] byteArray = buffer.array();
```
注意:以上方法中的object必须实现Serializable接口。