В java можно ли создать аналог класса string?? - Вопросы по Java

Вопрос В java можно ли создать аналог класса string??

Регистрация
21 Апр 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
Вот в java мы объявляем элемет по типу Stroka str = new Stroka("Hello"); , а String работает по другому.

Мы сразу присваиваем. String str = 'Hello'; Можно ли в java сделать примерно тоже самое только с собственными классами??

И вот если мы пишем System.out.println(str); То здесь он автоматически возвращает элемент.

И не нужно писать что-то типа этого: System.out.println(str.value);

Можно ли сделать также как и родительский класс String?? Если да, то как это сделать??
 
Регистрация
2 Сен 2013
Сообщения
101
Репутация
31
Спасибо
0
Монет
0
такое поведение странга "вшито" в джаву...

а чтобы выводило на печать как тебе нужно, переписываешь в своём классе метод

@Override
public String toString() {
return и-зесь-ты-клеишь-какой-тебе-нужно-вывод-типа-стринг;
}
 
Регистрация
6 Дек 2013
Сообщения
89
Репутация
-3
Спасибо
0
Монет
0
Можно. Это одна из самых распространённых учебных задач.
Но String str = "Hello"; и String str = new String("Hello"); совершенно разные вещи. String str = "Hello"; создаёт новую строку в пуле строк, если в пуле строк нет строки с таким литералем.
 
Регистрация
7 Мар 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Конструктор придется вызывать явно, поскольку Java не позволяет изобретать собственный синтаксис, превращающий строковые литералы в объекты вашего класса.

А вот при выводе в консоль вы можете подать объект любого типа, и метод println дернет у него метод toString. Поэтому для вывода желаемого результата вам достаточно переопределить в классе Stroka метод toString, чтобы он возвращал value.
 
Сверху Снизу