Показать сообщение отдельно
Старый 08.01.2007, 21:41
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
s = 5;
n1 = new String (s);
n2 = String (s);
trace (n1.length);
trace (n2.length);
В первом случаи, это конструктор класса.
Во втором приведением типов.

Обычно, мы задаем строковой литерал, то есть
Код:
str = "234"
Но у литерала нет ни методов ни свойств. Поэтому когда мы делаем
Код:
trace (str.length)
интерпретатор автоматически преобразовывает литерал во временной объект String (то есть new String), выполняет метод, а потом удаляет временной объект.

PS. Поэтому все методы и свойства работают быстрее, если у нас объект String, а не литерал. Например length в 5 раз.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 08.01.2007 в 21:47.