java - Generating unique auto-incrementing instance IDs -


I'm trying to create unique IDs for examples of class starting with 1 like:

  public abstract class foo {static id = 0; Final intestinal id; Public foo () {this.id = ++ id; }}  

Then I realized that I have many classes that require this behavior, and so I tried to inherit a abstract class But I got it

Edit:

/ Em>
I did not clarify this, but for each subclass The requirement of indexing is not only unique, but also continuously.

For example, if I inherited from the bar and baz foo :

  bar b1 = new bar (); Falcon B2 = new falcon (); Bar b3 = new bar ();  

should be b2 id == 1 , and b3 should be id == 2 .

Not really! There are some things you can try:

  1. Create a IDGenerator class with a static method to create a new ID for a specific code. .generate () method in class Hashmap mapping will retain sections. It will keep all logic in one class, but in reality does not simplify things.
  2. Use a similar reference for each new instance of a IDGenerator class in this class. Use this behavior, in this case, IDGenerator Category to class .generate () method will be a non-argument method. Again, I'm not sure that things make things a lot easier.
  3. Skip the need for continuous id. In this way, you can have a class IDGenerator with a static non-RGR .generate () method that will only dish next to the unused identifier your identifier in your application Will be unique, and will not be consistent within a class.

What you got is very silly-proof and slimline.

Another minor note: You say that you want your ID to begin with 0, but the way you wrote it, they will start with 1. You want to replace this.id = ID ++ instead of .id = ++ id .


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -