gpt4 book ai didi

java - 在Java中,object.class有什么作用?

转载 作者:行者123 更新时间:2023-12-01 19:06:36 25 4
gpt4 key购买 nike

我正在与 Google GSON 合作,在文档中他们 mention他们遵循:

Object Examples

class BagOfPrimitives {
private int value1 = 1;
private String value2 = "abc";
private transient int value3 = 3;
BagOfPrimitives() {
// no-args constructor
}
}

(Serialization)

BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj);
==> json is {"value1":1,"value2":"abc"}

Note that you can not serialize objects with circular references since that will result in infinite recursion.

(Deserialization)

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);   
==> obj2 is just like obj

在最底层,他们使用BagOfPrimitives.class。那到底有什么作用呢? (我想它可能会返回该类,但在这种情况下,我希望代码只是省略“.class”)。

最佳答案

这是一个类文字 - 它提供了对表示特定类的Class对象的引用。请参阅section 15.8.2 of the JLS更多细节。例如:

String text = "Hello";
Class<?> classFromObject = text.getClass();
Class<?> classFromLiteral = String.class;
System.out.println(classFromObject == classFromLiteral); // true

在反序列化的情况下,它是告诉反序列化器使用什么类型来尝试将数据反序列化为。

关于java - 在Java中,object.class有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847577/

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