如何将递增的数字字符串作为id?

问题描述 投票:-1回答:3

您好我一直在尝试找到一种方法来创建一个类,该类是一个字符串,并具有数值,该值对于创建的类的每个实例都是icrement。我找到了向导,告诉我如何使用整数,但我想使用字符串。我不知道我将如何做到这一点。

	import java.util.ArrayList;


public class Order {
		
	private String orderID;
	
    Order(String orderID) {
		setOrderID(orderID);	
	}
	
	public void setOrderID(String orderID) {
		this.orderID=orderID;
	}
	
   }
java string auto-increment
3个回答
0
投票

对象的每个实例都独立于其他实例。因此,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;
  }

 }

0
投票

据我了解,您需要使用静态int变量。


0
投票

如果您真的想要使用String,可以向类中添加静态计数器并将值指定为String:

public class Order {

    private static final int orderCount = 0;
    private final String orderID;

    Order() {
        this.orderCount++;
        this.orderID = String.valueOf(this.orderCount);
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.