pojo如何为列表设置价值

发布于 2025-02-08 07:06:14 字数 744 浏览 2 评论 0 原文

我想在我的对象中设置这样的东西,

"citizenships": ["IN"]

我可能需要设置多个公民身份,例如[in“”,“ fr”] 我有课

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

@Getter
@Setter
@ToString
public class Citizenships {

    private List<Citizenship> citizenships = null;

    private class Citizenship {
    }
}  ```

My object is like that
public class StudentPersonalData {

private String name;
private String surname;
private String birthYear;
private String gender;
private List<String> citizenships;} ```

,我有sudentPersonaldata st1 = new studentPersonaldata(); 我想使用ST1.SetCitizenships(.....)之类的东西;

如何填充setCitizenship(....)?

I want to set something like this in my Object

"citizenships": ["IN"]

It is possible that I would need set more than one citizenships e.g. ["IN","FR"]
I have class

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

@Getter
@Setter
@ToString
public class Citizenships {

    private List<Citizenship> citizenships = null;

    private class Citizenship {
    }
}  ```

My object is like that
public class StudentPersonalData {

private String name;
private String surname;
private String birthYear;
private String gender;
private List<String> citizenships;} ```

I have StudentPersonalData st1 = new StudentPersonalData();
I want to use something like st1.setCitizenships(.....);

How can I fill setCitizenships (....)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悲欢浪云 2025-02-15 07:06:15

如果我正确理解您的问题,您希望能够使用任意数量的参数调用 setCitizenships

即,您希望能够调用 st1.setCitizenships(“ in”) and st1.setCitizenships(“ in”,“”,“ fr”);

解决方案:

在您的varargs中使用 :函数的参数。

// StudentPersonalData.java

public void setCitizenships(String... citizenshipsArr) {
    // Add every element in citizenshipsArr into your list
    for (String citizenship : citizenshipsArr) {
        citizenships.add(citizenship);
    }
}

这使您可以调用 setCitizenships 具有0或多个类型 String 的参数。

注意:在您的功能内部, Citizenhipsarr 可以像 String [] 一样使用。

为了更好地了解Varargs,我建议您阅读本文:

If I understand your question correctly, you want to be able to call setCitizenships with any number of arguments.

i.e. you want to be able to call st1.setCitizenships("IN") and st1.setCitizenships("IN", "FR");

Solution:

Use varargs in your function's parameters.

// StudentPersonalData.java

public void setCitizenships(String... citizenshipsArr) {
    // Add every element in citizenshipsArr into your list
    for (String citizenship : citizenshipsArr) {
        citizenships.add(citizenship);
    }
}

This lets you call setCitizenships with 0 or more arguments of type String.

Note: Inside your function, citizenshipsArr can be used as if it was a String[].

To better understand varargs, I'd recommend you to read this article: https://www.geeksforgeeks.org/variable-arguments-varargs-in-java/

孤独岁月 2025-02-15 07:06:15

我不确定您的结构,因为您最重要的是一类公民身份,但是您以后会使用列表。

也许以下代码会帮助您

st1.setCitizenships(List.of("IN","FR"));

I am not sure about your structure, as you have a class of citizenships on top, but you use a List of strings later.

Maybe the following code will help you

st1.setCitizenships(List.of("IN","FR"));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文