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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка warning 
V
    Опции темы
KeyLord
Дата 3.6.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую.
Есть задание:
Ввести n строк с консоли. Упорядочить и вывести строки в порядке возрастания их длин

вот мой код:
Код

    public void SortMaxLen(ArrayList<String> als) {
        sort(als, new Comparator() {
        public int compare(Object o1, Object o2) {
                String o1s, o2s;
                o1s = (String) o1;
                o2s = (String) o2;
                if (o1s.length() > o2s.length()) return 1;
                if (o1s.length() < o2s.length()) return -1;
                return 0;
        }
        });
        System.out.println(als);
    }

работает правильно, но идея выбрасывает варнинг: uses unchecked or unsafe operations
проясните, пожалуйста, для меня, что здесь не так?
PM MAIL   Вверх
Старовъръ
Дата 3.6.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 4
Всего: 10



Возможно следовало бы вначале проверить являются ли объекты о1 и о2 строками, а потом приводить типы
Код

if(o1 instanceof String)
  o1s = (String)o1;
 Если нет, то укажи строку, в которой выбивается это предупреждение.
PM MAIL WWW   Вверх
fixxer
Дата 3.6.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 6
Всего: 27



Ели версия джавы >= 5, то имхо лучше так:
Код

    public void SortMaxLen(ArrayList<String> als) {
        sort(als, new Comparator<String>() {
        public int compare(String o1, String o2) {
                if (o1.length() > o2.length()) return 1;
                if (o1.length() < o2.length()) return -1;
                return 0;
        }
        });
        System.out.println(als);
    }


Это сообщение отредактировал(а) fixxer - 3.6.2008, 17:29


--------------------
user posted image
PM MAIL ICQ   Вверх
niasilil
Дата 3.6.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 8
Всего: 9



Это скорее всего изза компаратора. Он же generics изспользует, а у тебя raw type. Вот компилятор и недоволен.

Код

    public void SortMaxLen(ArrayList<String> als) {
        sort(als, new Comparator<String>() {

            public int compare(String o1, String o2) {
...



--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
KeyLord
Дата 3.6.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



fixxerniasilil, спасибо, сразу написать String я не додумался.
PM MAIL   Вверх
m1st
Дата 16.4.2012, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Решение этого задания есть тут: http://forum.vingrad.ru/forum/act-ST/f-104...6/unread-1.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




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


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

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