这是我实现的模型:

public class LoginSession {
    private static final Gson gson = new Gson();

    private String id;
    private String name;
    private long timestamp;

    public LoginSession(String id, String name) {
        this.id = id;
        this.name = name;
        this.timestamp = System.currentTimeMillis();
    }

    public String toJson() {
        return gson.toJson(this);
    }

    public static LoginSession fromJson(String json) {
        checkArgument(!isNullOrEmpty(json));
        return gson.fromJson(json, LoginSession.class);
    }
}

我认为为每个 LoginSession 实例创建新的 Gson 实例是没用的。

但我担心的是线程安全问题。大约每秒将创建 1000 多个实例。

使用 Gson 实例作为静态字段可以吗?

感谢您的任何建议/更正。

最佳答案

对我来说似乎很好。 GSON 实例中没有任何内容使其与 LoginSession 的特定实例相关,因此它应该是静态的。

GSON 实例 should be thread-safe ,并且有一个 bug regarding 已修复。

关于java - 可以将 Gson 实例用作模型 bean 中的静态字段(重用)吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10380835/

10-13 09:08