This worked for me, changing the locale did not.
Scanner sc = new Scanner(System.in);
// val = sc.nextDouble(); - crashes with java.util.NoSuchElementException
// If Java crashes with legal Java code, wrap the call in a hasNextLine() test
if (sc.hasNextLine())
{
val = sc.nextDouble();
}
Это зависит от того, что Вы делаете:
int
является, вероятно, достаточно большим. bigint
или последовательный гуид. Guid
, является действительно большим. Обновление
Некоторые дополнительные (менее - очевидный) отмечают на Гуидах:
where id='xxx-xxx-xxxxx'
), но Вы возвращаете часть этого через последовательные гуиды также (where id='xxx-xxx' + '123'
). 'http://example.com?userid=xxxx'
и ожидать получать результат для чужой учетной записи). Это действительно зависит, ожидаете ли Вы иметь репликацию в изображении. Репликация требует строки UUID, поэтому если Вы - планирование выполнения этого, можно также сделать это впереди.
Вы делаете репликацию, или у Вас есть торговый персонал, который выполняет разъединенный databses, который должен объединиться, использовать GUID. Иначе я пошел бы для интервала или bigint. Они намного легче иметь дело с в конечном счете.
Зависит не, в чем Вы нуждаетесь. Производительность DB получила бы от целого числа, в то время как GUID полезны для репликация и не требующий для получения ответ от DB, какие идентификационные данные были созданы, т.е. код мог создать идентификационные данные GUID прежде, чем вставить в строку.
В целом я рекомендовал бы BIGINT
по GUID
(поскольку гуиды являются большими и медленными), но вопрос, Вам даже нужно это? (Т.е. Вы делаете репликацию?), Если Вы ожидаете меньше чем 2 миллиарда строк, традиционное INT
будет прекрасно.
Если Вы - планирование использования репликации слияния затем ROWGUIDCOL
, выгодно для производительности (, посмотрите здесь для получения информации ). Иначе нам нужно больше информации о том, каково Ваше определение 'лучше'; лучше, для какой?
Если у Вас нет реальной потребности в GUID, таком как способность генерировать ключи где угодно и не только на сервере, затем я придерживался бы использования ОСНОВАННЫХ НА ЦЕЛОМ ЧИСЛЕ ключей. GUID являются дорогими, чтобы создать и мешать на самом деле смотреть на данные. Плюс, Вы когда-либо пытались ввести GUID в SQL-запросе? Это болезненно!
Это действительно зависит от того, последовательна ли входящая информация так или иначе. Я настоятельно рекомендую для вещей, таких как пользователи, что GUID мог бы быть лучше. Но для последовательных данных, таких как заказы или другие вещи, которые должны быть легко поддающимися сортировке, что bigint может быть лучшим решением, поскольку это будет индексировано и обеспечит быстро сортировку без стоимости другого индекса.
'I am having a very nice day -- or at least I was.'
, you' d становятся --
считаемыми как слово. isalnum
мог бы помочь, я предполагаю, в зависимости от OP' s определение " word".
– DSM
17 October 2013 в 04:38
Я с Andrew Rollings.
Теперь Вы могли обсудить эффективность пространства. Интервал что, 8 байтов макс.? Гуид идет в намного дольше.
, Но у меня есть две главных причины для предпочтения: удобочитаемость и время доступа. Числа легче для меня, чем GUID (так как я могу всегда находить следующую/предыдущую запись легко).
Что касается времени доступа, обратите внимание, что некоторый DBS может начать иметь БОЛЬШИЕ проблемы с GUID. Я знаю дело обстоит так с MySQL ( MySQL InnoDB Primary Key Choice: GUID/UUID по сравнению с Целочисленной Производительностью Вставки ). Это не может быть большой частью проблемы с SQL Server, но это - что-то, чтобы не упустить.
я сказал бы что палка с INT или BIGINT. Единственное время я думал бы, что Вы захотите GUID, - когда Вы собираетесь выделить их и не хотите, чтобы люди смогли предположить идентификаторы других записей из соображений безопасности.
'apple & orange'.split()
дает ['apple', '&', 'orange']
– chefarov
19 August 2018 в 22:30