kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 Ghosty
Ghosty
Вопрос

Как преобразовать из int в Long в Java?

Я постоянно нахожу здесь и в 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.

207 2009-08-19T21:01:00+00:00 12
 Trilarion
Trilarion
Редактировал вопрос 25-го апреля 2019 в 3:33
Программирование
casting
java
int
long-integer
Решение / Ответ
Daniel Earwicker
Daniel Earwicker
19-го августа 2009 в 9:03
2009-08-19T21:03:17+00:00
Дополнительно
Источник
Редактировать
#9389031

Обратите внимание, что существует разница между приведением к long и приведением к Long. Если вы приводите к long (примитивному значению), то оно должно быть автоматически приведено к Long (ссылочному типу, который его обертывает).

В качестве альтернативы можно использовать new для создания экземпляра Long, инициализируя его значением int.

234
0
 serg
serg
19-го августа 2009 в 9:08
2009-08-19T21:08:25+00:00
Дополнительно
Источник
Редактировать
#9389032

Используйте следующее: Long.valueOf(int);.

Tim Cooper
Tim Cooper
Редактировал ответ 11-го июля 2012 в 1:55
Long (Java Platform SE 7 )
docs.oracle.com
184
0
 saret
saret
20-го августа 2009 в 9:54
2009-08-20T09:54:25+00:00
Дополнительно
Источник
Редактировать
#9389033

Если у вас уже есть int, типизированный как Integer, вы можете сделать это:

Integer y = 1;
long x = y.longValue();
15
0
User User
User User
2-го апреля 2016 в 2:10
2016-04-02T14:10:36+00:00
Дополнительно
Источник
Редактировать
#9389038

использование <БР>

new Long(your_integer);

или

Long.valueOf(your_integer);
11
0
Maxim Veksler
Maxim Veksler
6-го февраля 2012 в 4:56
2012-02-06T16:56:50+00:00
Дополнительно
Источник
Редактировать
#9389035

У меня есть маленькая игрушка, которая также связана с использованием не универсальных интерфейсов. Я'м хорошо бросает ClassCastException если кормить неправильно (ОК и счастлива)

public class TypeUtil {
    public static long castToLong(Object o) {
        Number n = (Number) o;
        return n.longValue();
    }
}
6
0
 cloudy_weather
cloudy_weather
17-го февраля 2015 в 5:15
2015-02-17T17:15:11+00:00
Дополнительно
Источник
Редактировать
#9389036

В Java вы можете сделать:

 int myInt=4;
 Long myLong= new Long(myInt);

в вашем случае это будет:

content.setSequence(new Long(i));
6
0
Steven Spungin
Steven Spungin
17-го ноября 2016 в 1:14
2016-11-17T13:14:45+00:00
Дополнительно
Источник
Редактировать
#9389039

Как Насчет

int myInt = 88;

// Не будет компилироваться

Long myLong = myInt;

// Собирает и сохраняет ненулевое дух инт. Лучшие литой это не бросит в всех. Конечно, в вашем случае могут потребовать длительного и возможные нулевые значения. Но если инт или другой жаждет только вход, и ваш способ может быть изменен, я бы предложил такой подход.

long myLong = myInt;

// Компилируется, является наиболее эффективным способом, и становится ясно, что источник ценности, и никогда не будет null.

Long myLong = (long) myInt;
4
0
 Vicky
Vicky
8-го мая 2018 в 3:24
2018-05-08T03:24:54+00:00
Дополнительно
Источник
Редактировать
#9389042
 1,new Long(intValue);
 2,Long.valueOf(intValue);
 Vicky
Vicky
Редактировал ответ 8-го мая 2018 в 5:46
3
0
Thamme Gowda
Thamme Gowda
10-го марта 2015 в 10:03
2015-03-10T10:03:15+00:00
Дополнительно
Источник
Редактировать
#9389037

Мы получим длинное значение, используя "номер ссылки".

public static long toLong(Number number){
    return number.longValue();
}

Это работает для всех типов число, вот тест:

public static void testToLong() throws Exception {
    assertEquals(0l, toLong(0));   // an int
    assertEquals(0l, toLong((short)0)); // a short
    assertEquals(0l, toLong(0l)); // a long
    assertEquals(0l, toLong((long) 0)); // another long
    assertEquals(0l, toLong(0.0f));  // a float
    assertEquals(0l, toLong(0.0));  // a double

}
3
0
Virendra Singh
Virendra Singh
27-го марта 2017 в 8:08
2017-03-27T08:08:57+00:00
Дополнительно
Источник
Редактировать
#9389040
 //Suppose you have int and you wan to convert it to Long
 int i=78;
 //convert to Long
 Long l=Long.valueOf(i)
2
0
 MaskedCoder
MaskedCoder
25-го мая 2010 в 1:25
2010-05-25T13:25:04+00:00
Дополнительно
Источник
Редактировать
#9389034

У меня было много неприятностей с этим. Я просто хотел:

thisBill.IntervalCount = jPaidCountSpinner.getValue();

Где IntervalCount долго, и экран был установлен, чтобы вернуться долго. В итоге мне пришлось написать эту функцию:

    public static final Long getLong(Object obj) throws IllegalArgumentException {
    Long rv;

    if((obj.getClass() == Integer.class) || (obj.getClass() == Long.class) || (obj.getClass() == Double.class)) {
        rv = Long.parseLong(obj.toString());
    }
    else if((obj.getClass() == int.class) || (obj.getClass() == long.class) || (obj.getClass() == double.class)) {
        rv = (Long) obj;
    }
    else if(obj.getClass() == String.class) {
        rv = Long.parseLong(obj.toString());
    }
    else {
        throw new IllegalArgumentException("getLong: type " + obj.getClass() + " = \"" + obj.toString() + "\" unaccounted for");
    }

    return rv;
}

который, кажется, сделать трюк. Никакое количество простых отливок, ни один из вышеупомянутых решений работал для меня. Очень неприятно.

2
0
Стас Цепа
Стас Цепа
27-го марта 2018 в 11:36
2018-03-27T11:36:23+00:00
Дополнительно
Источник
Редактировать
#9389041

Как только есть единственный способ долго.метод valueOf(длинный), отлитых из типаintвдлинныебудет сделано неявно в случае использования "длинных".метод valueOf(сертификата от его закодированной формы).

Более четкий способ сделать это

Integer.valueOf(intValue).longValue()
0
0
Похожие сообщества 11
pro.jvm
pro.jvm
5 814 пользователей
Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
Открыть telegram
learn.java
learn.java
5 375 пользователей
Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat
Открыть telegram
Java & Co
Java & Co
4 434 пользователей
Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/179171 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude
Открыть telegram
pro.JVM Jobs Chat
pro.JVM Jobs Chat
2 564 пользователей
Чат для обсуждения вакансий на JVM языках. Правила: - Никакого спама - Никакого троллинга и оскорблений участников - Размещение вакансий только через канал Канал для вакансий: @jvmjobs Основной чат: @jvmchat Наши друзья: @scala_jobs, @scala_jobs_feed
Открыть telegram
Java/Kotlin and more
Java/Kotlin and more
2 063 пользователей
чат о Java/Kotlin и связанных технологиях. We're discussing: job, tech questions etc. languages: russian, java, eng, kotlin Ссылка на чат: t.me/springframeworkio
Открыть telegram
Java Underground
Java Underground
1 751 пользователей
Библиотека по Java https://t.me/javalib Наше сообщество ВК: https://vk.com/javatutorial Вакансии и резюме свои строго в этот канал: https://t.me/job_java
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
DE
EL
ES
FR
ID
IT
JA
KO
NL
PT
RO
RU
SK
TR
ZH
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией