gpt4 book ai didi

java - 在 main 上序列化泛型类型

转载 作者:行者123 更新时间:2023-12-02 00:09:34 25 4
gpt4 key购买 nike

请我想序列化几种类型的数组,以了解内存中最糟糕的情况。因此,我创建了一个函数来序列化泛型类型 int calcul(T a) 并返回 int 的大小。

public class NewClass<T> {
public static void main(String[] args) throws IOException {
byte[] tabByte = new byte[56666];
Byte[] tabByte2 = new Byte[56666];
int[] tabInt = new int[56666];
ArrayList<Byte> arr=new ArrayList<Byte>(56666);

System.out.println("size array byte[]"+calcul(tabByte));
System.out.println("size array Byte[]"+calcul(tabByte2));
System.out.println("size array int[]"+calcul(tabInt));
System.out.println("size array ArrayList<Byte>"+calcul(arr));
}


static int calcul(T a) throws IOException {
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
ObjectOutputStream stream = new ObjectOutputStream(byteOutput);
stream.writeObject(a);
int a = byteOutput.toByteArray().length;
stream.flush();
stream.close();
byteOutput.flush();
byteOutput.close();

return a;
}

}

但是我有这个错误

non-static type variable T cannot be referenced from a static context 

我该如何将通用变量设置为静态并运行我的程序?

最佳答案

您可以遵循此方法

static int calcul(T extends Serialazable a) throws IOException;

谢谢

关于java - 在 main 上序列化泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com