Java 从textfield中提取值,然后将其放入set/arraylist
为什么我的Java 从textfield中提取值,然后将其放入set/arraylist,java,csv,Java,Csv,为什么我的列表在从文本字段提取数据后仍然为空?或者有没有其他方法可以从textfield中获取值并将其附加到文件中?任何帮助都将不胜感激 public class AddUser implements ActionListener { Set<UserBean> list = new HashSet<UserBean>(); UserBean user = new UserBean(); Iterator it = list.iterator();
列表
在从文本字段提取数据后仍然为空?或者有没有其他方法可以从textfield中获取值并将其附加到文件中?任何帮助都将不胜感激
public class AddUser implements ActionListener
{
Set<UserBean> list = new HashSet<UserBean>();
UserBean user = new UserBean();
Iterator it = list.iterator();
//Irrelevant code
private void saveObject()
{
try
{
FileWriter output = new FileWriter("D://names.csv", true);
if (it.hasNext() == false)
{
System.out.println("empty");
}
while(it.hasNext())
{
UserBean current = (UserBean)it.next();
output.append(current.getLastName());
output.append(",");
output.append(current.getFirstName());
output.append("\n");
}
} catch(Exception e)
{
}
}
public void actionPerformed(ActionEvent ae)
{
Object src = ae.getSource();
if (src == bAdd)
{
user.setFirstName(tfFirst.getText().trim());
user.setLastName(tfLast.getText().trim());
list.add(user);
saveObject();
}
public类AddUser实现ActionListener
{
Set list=新的HashSet();
UserBean user=newuserbean();
Iterator it=list.Iterator();
//无关代码
私有void saveObject()
{
尝试
{
FileWriter输出=新的FileWriter(“D://names.csv”,true);
if(it.hasNext()==false)
{
System.out.println(“空”);
}
while(it.hasNext())
{
UserBean current=(UserBean)it.next();
append(current.getLastName());
输出。追加(“,”);
append(current.getFirstName());
output.append(“\n”);
}
}捕获(例外e)
{
}
}
已执行的公共无效行动(行动事件ae)
{
对象src=ae.getSource();
如果(src==bAdd)
{
user.setFirstName(tfFirst.getText().trim());
user.setLastName(tfLast.getText().trim());
列表。添加(用户);
saveObject();
}
首先,你的设计很糟糕
我认为没有理由首先使用迭代器
或集合
,因为您似乎正在保存单个对象
但是,请添加调试语句,以便确保一切按预期进行。Empty catch block=坏主意。如何知道是否出现异常?只需插入e.printStackTrace();它仍然没有改变程序的结果,所以我想这不是问题。嗯?我认为行列表。添加(用户);解决了空哈希集。对不起,我对Java还是相当陌生。