我正在尝试将 java 对象转换为对象列表。我当前的对象是 ff。
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategy.UpperCamelCaseStrategy.class)
public final class GetCreditCardInfo {
@JsonAlias("ns:return")
private List<CreditCardDetails> details;
@JsonAlias("ns:return")
private CreditCardDetails detailsObject;
}
上面的代码的作用是获取响应中的对象或对象列表。如果详细信息变量根本没有值,我计划将对象转换为对象列表。
我这样做是因为我们的南向 API 会抛出一个对象或对象列表,如下所示。
对于我现有的实现,我只想将对象转换为列表,以便 API 抛出对象响应。我现有的对象列表实现仍然有效,因为抛出对象的 api 仍将在我的 API 中被读取为单个对象列表。有没有办法将我的对象转换为对象列表?
最佳答案
tl;博士
List.of( myCreditCardDetails )
列表
Java 9及更高版本提供了几个方便的List.of
List
上的方法用于实例化unmodifiable list的接口(interface).
要创建包含单个对象的不可修改列表:
List< CreditCardDetails > list = List.of( myCreditCardDetails ) ;
要创建一个空的不可修改列表:
List< CreditCardDetails > list = List.of() ;
要创建包含多个对象的不可修改列表:
List< CreditCardDetails > list = List.of( aliceCreditCardDetails , bobCreditCardDetails , carolCreditCardDetails , davisCreditCardDetails ) ;
根据 What is the maximum of number of arguments for varargs in java?,您最多可以传递大约 64,000 个元素.
要从数组创建不可修改的列表:
List< CreditCardDetails > list = List.of( arrayOfCreditCardDetailsObjects ) ;
要从可修改列表复制不可修改列表,请调用 List.copyOf
.
List< CreditCardDetails > list = List.copyOf( otherModifiableList ) ;
关于java - 将 Java 对象转换为对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69811558/