Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> java.lang.NullPointerException 
V
    Опции темы
nerezus
Дата 14.1.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



java.lang.NullPointerException:

имеем класс(ну типа структура):
Код

import javax.microedition.lcdui.Image;

public class Item {
    public int    textColor;
    public int    bgColor;
    public int    linkColor;
    public Image  image;
    public String title;
    public String text;
    public String smsNumber;
    public String smsText;
    public String smsTextTrue;
    public String smsTextFalse;
    public Links  links;

}


и код:
Код

public class Items {
    public Item[] item_array;

    public Items() {
        item_array = new Item[255];
    }

    некий_метод() {
        item_array[1].bgColor = bgColor; // <=    java.lang.NullPointerException
    }

}


как исправить?

Это сообщение отредактировал(а) nerezus - 14.1.2007, 14:43


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
nerezus
Дата 14.1.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43




Код

import javax.microedition.lcdui.Image;

public class Item {
    public int    textColor;
    public int    bgColor;
    public int    linkColor;
    public Image  image;
    public String title;
    public String text;
    public String smsNumber;
    public String smsText;
    public String smsTextTrue;
    public String smsTextFalse;
    public Links  links;

    public Item(int i) {
        System.out.println(i);
    }

}





Код

public class Items {
    public Item[] item_array;// = new Item[100];

    public Items() {
        for(int i = 0; i < 10; i++) {
            item_array[i] = new Item(i);
        }
    }
..........


если второй класс делать так, то ошибка уже в конструкторе =\

Кстати я даже кол-во объектов уменьшил =\


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Любитель
Дата 14.1.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



nerezus, если не ошибаюсь, тебе надо дважды new вызывать: для создание массива как такового (тоже объект) и для каждого его элемента.


--------------------
PM MAIL ICQ Skype   Вверх
Antropoid
Дата 14.1.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



Цитата

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

A[] a1 = new A[10]; 

а потом сразу идет попытка работы с элементами этого массива. Но здесь построен только массив ссылок, а сами объекты еще не созданы.

Сначала выделяешь память под ссылки, а уже потом под объекты.


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
nerezus
Дата 14.1.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Спасибо, все работает )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.