Java для начинающих: Урок 9. Приведение типов

preview_player
Показать описание

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

Курсы для новичков:

Рекомендации по теме
Комментарии
Автор

для типа char тоже есть обертка - Character

AlexeyTimofeev
Автор

В комментариях к этому уроку, оказалось много полезной инфы, спасибо всем вам)!

СергейД-чш
Автор

Лично для меня, этот урок был весьма полезен! Спасибо!

pavelsewerow
Автор

Все ошибку заметили?
Время: 9:45

при выводе System.out.println("r1 = " + r1); /* Наблюдается потеря данных */
потому что мы присвоили Float к Intger, следовательно, тип данных с плавающей точкой присвоился к целочисленному, следовательно, значение округлилось до меньшего - мы потеряли данные: было 2.6f, получилось 2.

marknikolsky
Автор

Вы что?! Для char есть Character!! Неужели вы не знали?! А еще: Зачем создавать каждый раз объект класса Number, если в каждой оболочке типов есть свой метод?? (intValue(); doubleValue(); и тем подобные!). То, что вы написали, я переписал вот так:

public class Main{
static Integer i = 25;

public static void main(String[] args){

double a = i.doubleValue();
System.out.println(a);
}
}

И всё работает ничуть не хуже. Постарайтесь ответить на мой комментарий, а то мне не верится, что вы правда не знаете и, что такое автоупаковка и, что такое оболочки типов (если Character не назвали). Спасибо!

miguelvologodskiy
Автор

а какая разница между примитивным int и ссылочным Integer???примитивным float и ссылочным Float??? и т.д.????

НурболДускалиев
Автор

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

АлексД-ою
Автор

Очень хорошие уроки. Большое вам спасибо.

davionsoft
Автор

тупой вопрос, но не понятно для чего преобразовываются данные
наверное, стоит начинать с этого т.к. не все разбираются что к чему 

bezalkogolniy
Автор

как ссылочный Float присвоить к примитивному int?

gpvphoobastankvarerera
Автор

Вы используете ссылочные типы, в которых определены методы для получения значений. Следовательно использование типа Number не оправданно и только использует лишнюю память.

Lerlinful
Автор

Получается можно перевести все, но нельзя из ссылочного String сделать примитивный int?

serjsh
Автор

попробовал пребразовать число из String в Integer. не получается. пишет "Required Java.lang.Number"

делал так
String st = "27";
Number n = st;
Integer t1 = n.intValue();
System.out.println(t1);

cryptoInNutshellR
Автор

А почему именно String нельзя привести в int, объектом Number. И есть ли еще типы как String?

РафаКамал-дч
Автор

Привет, а зачем использовать Number ? Разве так нельзя?
static Integer in = 5;
Double d = in.doubleValue();
System.out.println(d);

Владислав-тсл
Автор

Нужно осторожно выполнять нисходящее преобразование... Если выполнить преобразование от большего типа к меньшему возможна потеря данных...Желательно использовать только восходящее преобразование.

vm
Автор

Точно так же делаю, но у меня выходит не 2, а 2.6? (Просто использую новую версию программы, может из-за этого?)

ТимурФорт
Автор

Может вопрос глупый, но для чего это вообще делается (Приведения типов ну или как говорит автор Преобразование)? Я имею в практике для чего это нужно делать.

fisheract
Автор

как я посмотрел, то для String класс Number не срабатывает. запрашивает миграцию и прочее... компилятор ругается

sanakalex
Автор

как ты так быстро подписываешь статик ? не контрл с контрл в же... почему не сказал? надо сразу учить все делать быстро нас :D а так замечательные уроки!

retriteam