在我们当前的章节中,我们正在使用数组,我在创建要从另一个类调用的列表时遇到了一些麻烦。
目标:显示来自另一个类的并行数组,这可以是单数或组中的。
问题:调用具有不同数据类型的多并行数组的最佳或有效方法?
错误:以非法语句开头,如前所述,这是整个代码,请忽略我刚刚测试的循环显示,以确保阵列设置正确。
谢谢大家,再次感谢任何帮助
import java.util.ArrayList;
public class Employee {
public static void main(String[] args) {
// create an array with employee number, first name, last name, wage, and Skill
int[] empID = {1001, 1002, 1003};
String[] firstName = {"Barry", "Bruce", "Selina"};
String[] lastName = {"Allen", "Wayne", "Kyle"};
double[] wage = {10.45, 22.50, 18.20};
String[] skill = {"Delivery Specialist", "Crime Prevention", "Feline Therapist"};
/*
for ( int i = 0; i < empID.length; i++ )
{
System.out.print( "Employee ID: " + empID[i] + "\n");
System.out.print( "First Name: " + firstName[i] + "\n");
System.out.print( "Last Name: " + lastName[i] + "\n");
System.out.print( "Hourly Wage: $" + wage[i] + "\n");
System.out.print( "Skill: " +skill[i] );
System.out.println("\n");
}
*/
//create an object to be called upon from another class
public ArrayList<int, String, String, double, String> getEmployee() {
ArrayList<int, String, String, double, String> employeeList = new ArrayList<int, String, String, double, String>();
employeeList.add(empID);
employeeList.add(firstName);
employeeList.add(lastName);
employeeList.add(wage);
employeeList.add(skill);
return employeeList;
}
}
} //end of class
答案 0 :(得分:1)
首先,你不能像这样声明一个ArrayList:
ArrayList<int, String, String, double, String>
如果需要,可以创建自己的对象,创建一个可以获取这些值的类,然后可以创建此Object的ArrayList,例如:
class MyClass{
int att1;
String att2;
String att3;
double att4;
String att5;
public MyClass(int att1, String att2, String att3, double att4, String att5) {
this.att1 = att1;
this.att2 = att2;
this.att3 = att3;
this.att4 = att4;
this.att5 = att5;
}
}
然后你可以像这样创建一个ArrayList:
List<MyClass> list = new ArrayList<>();
答案 1 :(得分:0)
回到Java的基础知识,它是一种面向对象的编程语言,因此你应该始终致力于抽象&#34;事物&#34;如果可能,进入一个对象。您应该封装关于“员工”的所有常见属性。进入一个以所有数据为字段的类。
如上面的答案所示,创建ArrayList<MyClass>
是初始化arraylists的正确方法,因为它们只能获取一种类型的数据。您可能已经看到其他类采用多种类型,例如HashMap<Type1, Type2>
,但这些是出于特定原因。请务必先检查API文档!