如何在Java中获取长数据类型?
例如,我将得到一个像这样的字符串:

String thisString = thisString.getText();


但是,我尝试使用长数据类型进行相同操作,但它不起作用。
我需要将其发送到ArrayList,这是整个代码:

package dao;

import entities.*;
import java.util.*;
import javax.swing.JTextField;
import java.text.*;
import javaapplication1.*;

public class ProductModel{

    public List<Product> findAll(){
        try {
            List<Product> forms = new ArrayList<Product>();
            JTextField textDate;
            JTextField textFecha;
            JTextField textTotal;
            return forms;
        } catch (Exception e){
            return null;
        }
   }
}


那是我的数组,然后在这里有另一个文件:

public class Product{

   public String date;
   public String fac;
   public Long total;
}


最后,将数据发送到ArrayList的按钮:

    @Override
    public void actionPerformed(ActionEvent e) {

        Product form = new Product();
        form.date = textDate.getText();
        form.fac = textFac.getText();
        form.total = textTotal.getText();
        forms.add(form);
    }
});


但这似乎不起作用。

最佳答案

String不是Long。这就是编译器向您大喊的原因。您需要解析它。

form.total = Long.parseLong(textTotal.getText());


确保您具有空检查,如果字符串为空,则将其分配给0。

解决此问题后,请阅读Encapsulation

09-15 14:04