public void setCustomerNumber(int customerNumber) {
this.customerNumber = customerNumber;
}
public static void main(String[] args) {
ArrayList<Customer> price = new ArrayList<>();
BaseQuery order = new BaseQuery("root", "googleplex");
String m = "";
try {
ResultSet rs = order.useTable("customers");
ResultSet rs1 = order.useTable("payments");
while (rs.next()) {
Customer customer = new Customer();
customer.setCustomerNumber(rs.getInt("customerNumber"));
customer.setFirstName(rs.getString("contactFirstName"));
customer.setLastName(rs.getString("contactLastName"));
customer.setSalesRepEmployeeNum(rs.getInt("salesRepEmployeeNumber"));
//int cn = rs.getInt("customerNumber");
//int pr = rs.getInt("orderNumber");
//System.out.println(cn);
//System.out.println(customerNumber);
price.add(customer);
}
for (int i = 0; i < price.size(); i++) {
System.out.println();
}
//System.out.println(price.toString());
} catch (SQLException e) {
e.printStackTrace();
}
@Override
public String toString() {
return price.toString()
我正在尝试输出ArrayList的内容,但它一直输出十六进制版本。我已经阅读了有关使用toString()或对其进行覆盖的所有答案,但是无论我将覆盖或toString()放在何处,无论哪种方式,我仍然可以获得该输出。我不能将其放置在public static void main之外,因为它随后将无法识别arraylist价格。我的代码有什么问题?
将@Override
放在toString()
上只会有所不同,如果您的类是另一个具有toString()
方法的类的子类。
如果要覆盖ArrayList
toString()
方法,则需要创建ArrayList
的子类,并从该子类中覆盖toString()
方法。此外,ArrayList
的任何用法随后都将由您创建的子类替换。