gpt4 book ai didi

Java如何存储不同类型的对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:28 24 4
gpt4 key购买 nike

我目前正在使用 Spring MVC 和 Hibernate 开发我的网络应用程序。仍在学习 java 的内部工作原理。

我发现自己处于这样一种情况,我需要将数据存储在一个字段中,该字段可以接受不同类型的对象以及其他一些数据字符串。更准确地说,我想创建一个可以保存消息、错误代码等的 ReturnObject。这样我的返回 JSON 可以在整个 api 中保持一致。

这就是我创建 ReturnObject 的方式

public class ReturnResponse {

//Set fields
private Object returnObj; <----- Need this to accept different types
private HttpStatus httpStatus;
private String message;
private String developerMessage;

// Start build

public ReturnResponse(){
this.returnObj = returnObj;
this.httpStatus =.....etc.
}

// Setters... getters...
}

private Object returnObj; 这样这个字段就可以接受 Collection、Maps、Class..etc 但这安全吗?

我似乎记得,在字段中声明特定对象类型以确保类型安全始终是一个好习惯。

问题

  1. 您是否看到 future 可预见的问题,是否有更好的方法?

  2. 如果这不是类型安全的,我该如何让它更安全。

最佳答案

您可以使用通用的:

public class ReturnResponse<ObjectType> {

private ObjectType returnObj;
private HttpStatus httpStatus;
private String message;
private String developerMessage;

public ReturnResponse(ObjectType returnObj, /*other parameters...*/) {
this.returnObj = returnObj;
// set other parameters
}

public ObjectType getReturnObj() {
return this.returnObj;
}

// ...
}

如果您在实例化 ReturnResponse 时知道返回对象的类型是什么,那么它将起作用。我在我的大部分 API 中使用这种模式都没有问题。

关于Java如何存储不同类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41607802/

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