0

好的,所以使用 ArrayLists 对我来说是第一次,我会先向我的老师或朋友寻求帮助……但它是一门在线课程,所以提出问题需要很长时间,到目前为止,我是整个课程中唯一参加这门课程的学生学校(这是一所很小的学校。)

无论如何,这太简单了,这很荒谬(我想对你来说)但是它摆脱了带下划线的东西......所以我猜我错过了一个关键组成部分......

public class EmployeeProjectView extends FrameView {

例如采取这条线......这个程序的开头,company带有红色下划线(我正在使用netbeans),我不知道为什么,它工作正常,String所以我的问题是......它总是必须是定义为String?

/** Define the ArrayList */
ArrayList<company> employee = new ArrayList<company>();


public EmployeeProjectView(SingleFrameApplication app) {
}// </editor-fold>                        

这(在“addButton”下方)是您将信息存储在数组中的位置。

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) { 

String c;
String ID, firstName, lastName, salary, date;

ID = IDField.getText();
firstName = firstNameField.getText();
salary = annualSalField.getText();
date = startDateField.getText();

newString 是带下划线的红色...

 c = new String(ID, firstName, lastName, salary, date);
    employee.add(c);

}                                         

private void listButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           

//Code here gets listed in Field...

    }    
4

5 回答 5

0

ArrayList需要介于 之间的类型< >。字符串是一种类型,在您的示例中,公司似乎是一个变量。列表应该有什么类型employee?员工是字符串列表吗?它是一些用户定义类的列表吗?你需要知道这一点。

http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

举个例子:

ArrayList<UserDefinedClass> myList = 
    new ArrayList<UserDefinedClass>(initialCapacity);
// initialCapacity should be a previously defined int.
// Or
ArrayList<String> someNames = new ArrayList<String>();
// Uses a default capacity of 10 when none is provided.

其次,String 是 Java 中一个有趣(但非常方便)的对象。不应使用关键字创建字符串,而应像使用or之new类的原语一样分配字符串。这是由于一种叫做“字符串实习”的东西,它本身值得谷歌搜索。分配一个字符串: int charshort

String word = "Strong Bad";

于 2013-04-30T18:50:13.730 回答
0

以下可能对您有所帮助..

ArrayList<Company> employee=new ArrayList<Company>();

Company employee1=new Company();
employee1.setId(id)
employee1.setFirstname(firstname);
employee1.setSalary(salary);
employee1.setDate(dates);

employee.add(employee1);

你必须有一个像这样的公司类

class Company {
String id,firstname,lastname,salary,dates;

//setter   getter method   

(您可以在 Netbeans 中通过右键单击 -> 插入代码 -> setter 和 getter 来实现)

干杯,

于 2013-04-30T19:00:45.460 回答
0

它是说没有公司的定义,所以它不知道要做什么数组列表。

ArrayList<String>它确实理解,因为它知道字符串的定义。

new String(ID, ... ) 好吧,现在它正在查看字符串的定义,寻找一个接受五个字符串参数的构造函数,并且正在苦苦挣扎......

您可能还想多考虑一下您的名字,一组名为员工的公司势必将您带入一个糟糕的地方。称为 Date 和 Salary 的字符串也不是什么好东西。

于 2013-04-30T18:57:18.787 回答
0

也许你想做:

 List<String> c = new ArrayList<String>(5);
 c.add(ID);
 c.add(firstName);

ETC..

Arrays 类中有一个方便的方法:

Arrays.asList("Larry", "Moe", "Curly");
于 2013-04-30T18:53:48.510 回答
0

例如采取这一行......这个程序的开头,“公司”是红色下划线(我正在使用netbeans),我不知道为什么,它作为“字符串”工作正常,所以我的问题是......它总是必须定义为字符串吗?

不。去阅读泛型。ArrayList可以定义为采用任何类型。因此,只要company是类名,您的声明就可以了。顺便说一句,类名的第一个字母应始终使用大写,以遵循通常的约定。

从您的行来看,您c = new String(ID, firstName, lastName, salary, date);需要了解 Java 中的对象。字符串是一种对象。查看 String 类的Javadoc:没有构造函数按照您编码的顺序接受其他字符串作为参数。因此,您无法按照您尝试的方式构造新字符串。您似乎对如何初始化字符串感到困惑。基本上看起来您需要阅读有关构造对象以及类和方法是什么的 Java 教程。

于 2013-04-30T18:50:57.607 回答