오브젝트의 각 인스턴스는 다른 독립적이다. 따라서 Order 객체가 사용자가 직접 지정하지 않고 만든 이전 인스턴스보다 하나 높은 숫자 값을 마술처럼 사용할 수있는 방법은 없습니다. 증분 인덱스가있는 루프가 있으면 목록에 연속적으로 삽입 할 수 있습니다. 그러나 String을 사용하여이를 수행하려면 먼저 인덱스를 String으로 변환해야합니다. 이것은 내가 어떻게 할 것입니다 :
출력 :
OrderID: 0
OrderID: 1
OrderID: 2
OrderID: 3
OrderID: 4
번호 : 제 이해로
import java.util.ArrayList;
public class F {
public static void main(String[] args) {
ArrayList<Order> orders = new ArrayList<Order>();
Order order;
String orderID;
for (int i = 0; i < 10; i++) {
orderID = Integer.toString(i); // Convert the index to a String
order = new Order(orderID); // Instantiate a new Order object with the String
orders.add(order); // Add the String to the list
}
// Loop through the list
for (Order o : orders) {
System.out.println(o.getOrderID());
}
}
}
class Order {
private String orderID;
Order(String orderID) {
setOrderID(orderID);
}
public void setOrderID(String orderID) {
this.orderID=orderID;
}
// Getter method
public String getOrderID() {
return this.orderID;
}
}
합니다. – Bergi
정수가 더 적합한 경우 왜 문자열을 사용 하시겠습니까? – Bergi
변수에 문자열을 사용하기로 결정한 경우 int 또는 long으로 ID를 생성 한 다음 String.valueOf()를 사용하여이 클래스에 문자열 – PillHead