Насколько оно должно быть уникальным?
Если оно уникально только внутри процесса, то вы можете использовать AtomicInteger
и вызывать incrementAndGet()
каждый раз, когда вам нужно новое значение.
int uniqueId = 0;
int getUniqueId()
{
return uniqueId++;
}
Добавьте synchronized
, если хотите, чтобы он был потокобезопасным.
Если вы действительно имели в виду целочисленное значение, а не целое:
Integer id = new Integer(42); // will not == any other Integer
Если вы хотите, чтобы что-то видимое вне JVM для других процессов или для пользователя, постоянное или множество других соображений, то есть другие подходы, но без контекста вам, вероятно, лучше использовать встроенную уникальность идентификации объекта в вашей системе.
import java.util.UUID;
public class IdGenerator {
public static int generateUniqueId() {
UUID idOne = UUID.randomUUID();
String str=""+idOne;
int uid=str.hashCode();
String filterStr=""+uid;
str=filterStr.replaceAll("-", "");
return Integer.parseInt(str);
}
// XXX: replace with java.util.UUID
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(generateUniqueId());
//generateUniqueId();
}
}
}
Надеюсь, это поможет вам.
Это легко, если вы несколько ограничены.
Если у вас один поток, вы просто используете uniqueID++; Убедитесь, что сохраняете текущий уникальный идентификатор при выходе.
Если у вас несколько потоков, то работает общий синхронизированный метод generateUniqueID (Реализованный так же, как и выше).
Проблема заключается в том, что у Вас много процессоров - либо в кластере, либо в какой-то распределенной установке, как в одноранговой игре.
В этом случае, как правило, вы можете объединить две части в одно число. Например, каждый процесс, который генерирует уникальный идентификатор, может иметь свой собственный 2-байтовый ID номер, а затем объединить его с уникальным ID++. Что-то вроде:
return (myID << 16) & uniqueID++
Это может быть хитрым распределением части "myID", но есть некоторые способы. Вы можете просто взять один из них из централизованной базы данных, запросить уникальный ID с централизованного сервера, ...
Если у вас был "Long" вместо "Int", то один из распространенных способов - это взять идентификатор устройства (UUID) ETH0, который гарантированно будет уникальным для сервера - просто добавьте серийный номер.
Селектор jQuery возвращает массив, чтобы просто получить его длину. Например:
jQuery(".image").Length
Если вам нужны более сложные запросы выбора, обратитесь к странице jQuery Selectors . Вы сказали, что все изображения в div запрос вы бы использовать что-то вроде jQuery («div # divName img»)
$(".divClassName").find("img").length
это то, что вы ищете?
-121--4716478-Просто создайте идентификатор и проверьте его наличие или отсутствие в списке созданных идентификаторов.
Должен ли он быть;