|
|
|
Forum Member
      
участник
Last Login: 12.12.2006 17:30
Сообщ.: 45,
Visits: 83
|
|
| import java.util.ArrayList; public class Foo{ Foo(){ ArrayList array = new ArrayList(0); try{ array.add("1"); }catch(RuntimeException re){ System.out.println("re: "+re.getMessage() ); } } public static void main(String[] args){ new Foo(); } } при компиляции javac -Xlint:unchecked Foo.java дает предупреждение Foo.java:6: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.ArrayList array.add("1"); ^ java - sun - 1.5.0_06 что это значит, и как с этим бороться ..
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
Это означает, что ты используешь java 5, и не указываешь тип объектов, которые будут храниться в ArrayList. Бороться так:
List<String> array = new ArrayList<String>();
array.add("1");
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.02.2008 19:48
Сообщ.: 480,
Visits: 5 178
|
|
| вы сами просите компилятор обращать на это внимание здесь: javac -Xlint:unchecked Foo.java
|
|
|
|
|
Forum Member
      
участник
Last Login: 12.12.2006 17:30
Сообщ.: 45,
Visits: 83
|
|
| спасибо, ясно. java рекомендует типизировать ArrayList. -Xlint: unchecked использовал специально, мне было непонятно в каком месте был unchecked call
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
| Да, но ты ж понимаешь, что не всегда это нужно. Можно и забить =)
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298,
Visits: 12 501
|
|
в принципе, указывать тип всегда можно, просто в самом общем случае нужно (читать можно) указывать тип Object
а вообще Danissimo прав
|
|
|
|