Я продолжаю находить как здесь и Google людей , имеющих проблемы , идущие от long
к , int
а не наоборот. Тем не менее, я уверен, что я не единственный, кто столкнулся с этим сценарием, прежде чем перейти int
к Long
.
Единственными другими ответами, которые я нашел, были «Просто установите его как Long», что на самом деле не решает вопрос.
Сначала я попробовал кастинг, но получил " Cannot cast from int to Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
Как вы можете себе представить, я немного озадачен, я застрял в использовании, int
так как некоторый контент поступает как, ArrayList
а объект, для которого я храню эту информацию, требует порядковый номер как Long.
java
casting
int
long-integer
Ghosty
источник
источник
int
кlong
первому, а затем назначитьlong
наLong
. Напримерint x = 2; Long y = (long)x;
Ответы:
Обратите внимание, что есть различие между приведением к
long
и приведением кLong
. Если вы приведете кlong
(примитивное значение), то оно должно быть автоматически помещено вLong
(ссылочный тип, который его оборачивает).В качестве альтернативы вы можете использовать
new
для создания экземпляраLong
, инициализируя егоint
значением.источник
Long
каждый раз создавать новый объект.Long.valueOf()
(если я правильно помню), поэтому не будет никакой разницы вообще. Мой комментарий был в ответ на ответ, а не на ваш комментарий.Используйте следующее:
Long.valueOf(int);
.источник
Long.valueOf(int) !!
Integer
может, это то, что он сказал.Если у вас уже есть int, введенное как Integer, вы можете сделать это:
источник
использование
или
источник
У меня есть эта маленькая игрушка, которая также имеет дело с не универсальными интерфейсами. Я в порядке с этим, выбрасывая ClassCastException, если кормить неправильно (ОК и счастлив)
источник
В Java вы можете сделать:
в вашем случае это будет:
источник
Как насчет
// не скомпилируется
// Компилирует и сохраняет ненулевой дух int. Лучший актерский состав - вообще не актерский состав . Конечно, в вашем случае использования могут потребоваться значения Long и возможные значения NULL. Но если int или другие long - ваш единственный вход, и ваш метод может быть изменен, я бы предложил этот подход.
// Компилирует, это самый эффективный способ, и дает понять, что исходное значение есть и никогда не будет NULL.
источник
Мы получим длинное значение, используя
Number
ссылку.Это работает для всех типов чисел, вот тест:
источник
источник
У меня было много проблем с этим. Я только хотел:
Где IntervalCount - Long, а JSpinner был настроен на возврат Long. В конце концов мне пришлось написать эту функцию:
который, кажется, делает свое дело. Никакое количество простого литья, ни одно из вышеупомянутых решений не работало для меня. Очень расстраивает.
источник
jPaidCountSpinner.getValue()
возвращает Object, который на самом деле является aLong
, вам определенно нужно только поставить(Long)
приведение впереди. Также попробуйте поставить точку останова на вашем чеке дляint.class
иlong.class
т. Д. Он когда-нибудь попадал? И если у вас есть объект, похожий на число, он будет поддерживатьjava.util.Number
, поэтому приведите его к этому и вызовитеlongValue
метод. В этом случае нет необходимости проходить через строку. Так что эту функцию можно немного упростить, даже если вам также нужно иметь дело со строками. (Часть проблемы здесь - плохая справочная документация дляJSpinner
).источник
Как только есть только метод
Long.valueOf(long)
, приведение отint
кlong
будет выполнено неявно в случае использованияLong.valueOf(intValue)
.Более понятный способ сделать это
источник
longValue
это просто(long)
, так что единственное, что вы «получаете» здесь -Integer
это внутренний кеш.