java - 将数组数据从一个类发送到另一个 JAVA
问题描述
(我是初学者,所以这听起来很明显/缺少信息。)我有一个不同宠物的属性数组列表,包括它们的名字、通用名、动物价格、性别、购买日期和日期等属性卖。此信息是从一个单独的类生成的,该类将一组信息添加到现有动物列表的数组数组中。本质上,我想将数组发送到另一个类(称为 Pets),然后可以将其添加到数组数组中。我知道这听起来可能令人困惑,但这是我可以表达的唯一方式,如果需要,我可以澄清任何事情。任何帮助都会很棒,因为我真的被卡住了,无法弄清楚如何发送它。这是在数组中生成我的值的代码(使用文本框输入信息)。
public void actionPerformed(ActionEvent e) {
ArrayList<String> NewanimalArr = new ArrayList<>();
String givenName = txtGivenname.getText();
String commonName = txtCommonName.getText();
String priceOf = txtPrice_1.getText();
String sexOf = txtSex.getText();
String colourOf = txtMaincolour.getText();
String dateOfA = txtArrivaldate.getText();
String dateSold = txtSellingdate.getText();
NewanimalArr.add(givenName);
NewanimalArr.add(commonName);
NewanimalArr.add(priceOf);
NewanimalArr.add(sexOf);
NewanimalArr.add(colourOf);
NewanimalArr.add(dateOfA);
NewanimalArr.add(dateSold);
System.out.println(NewanimalArr);
}
});
这将打印生成的输入信息,例如:[alex, Dog, 40.50, Male, Brown, 14/04/2015, 14/12/2016] 我该如何将此数据发送到另一个班级
解决方案
选项一Constructor Injection
:
public class Foo {
List<String> actionPerformed(ActionEvent e) {
List<String> newanimalArr = new ArrayList<>();
.....
return newanimalArr
}
...
public class Pets {
private final List<String> array;
public Pets(final List<String> array) {
this.array = array;
}
void bar() {
System.out.println(this.array);
}
}
....
public static void main(String[] args) {
Foo foo = new Foo();
Pets pets = new Pets(foo.actionPerformed( new ActionEvent() ) );
pets.bar();
}
选项二Getter-Setter Injection
:
public class Foo {
private final List<String> newanimalArr;
public Foo() {
this.newanimalArr = new ArrayList<>();
}
public void actionPerformed(ActionEvent e) {
.....
}
public List<String> getNewanimalArr() {
return new ArrayList<String>(newanimalArr);
}
}
...
public class Pets {
private List<String> array;
public Pets() {
this.array = Collections.<String>emptyList();
}
public void setArray(final List<String> array) {
this.array = array;
}
public void bar() {
System.out.println(this.array);
}
}
....
public static void main(String[] args) {
Foo foo = new Foo();
foo.actionPerformed( new ActionEvent() );
Pets pets = new Pets();
bar.setArray( foo.getNewanimalArr() );
pets.bar();
}
另请参阅依赖注入模式
推荐阅读
- python - 为什么我在使用多行引号时出现语法错误?
- r - Adding and Editing Functions of R-package
- python - Tkinter 多个窗口未在按钮单击时打开
- php - 用php创建动态超链接
- javascript - NodeJS Fs readdir不返回文件扩展名
- c++ - QT:为什么我的小部件在调整窗口大小时会“抖动”?
- laravel - Laravel 7.x - 在 belongsToMany 关系中的最新结果相关模型
- javascript - 在node js中编写用于搜索记录和排序记录的单元测试
- html - 有没有办法禁用 chrome AUTOFILL 和 AUTOCOMPLETE 的角度形式?
- python - 没有产品与给定的查询匹配。姜戈