Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (522)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (590)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  warning when adding to a list  (Read 1065 times)
0 Members and 1 Guest are viewing this topic.
Offline Kova

Senior Devvie





« Posted 2006-04-06 18:15:51 »

Hello.
Eclipse gives me this warining when I add something to ArrayList or HashSet with .add() ... everything works fine, but I don't really understand the warning. Please someone explain, thank you.

Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic
 type ArrayList<E> should be parameterized
Offline robertATpm

Junior Newbie





« Reply #1 - Posted 2006-04-06 18:32:02 »

(Excuse my C++ background, I'm sure Java calls these things by different names...  but anyway...)

With the latest release, Java now supports a concept similar to C++ templates.   One big win with this is the ability to avoid creating classes that have no type safety, like generic collection classes.    The warning you are getting is telling you that you are using one of these generic collection classes, when you should be creating a collection to hold the exact type of thing you want in the collection.

So:

ArrayList<CFish> fishList = new ArrayList<CFish>;

fishList.add(new CFish("Salmon"));   //  is good.
fishList.add(new CBird("Hawk"));  // won't compile



Robert Costello
www.playfulminds.com
Offline Jeff

JGO Coder




Got any cats?


« Reply #2 - Posted 2006-04-06 18:42:38 »

Yup except that it will compile, but with warnings.

The solution is, if your putting objects of type String in the list rather then saying
1  
2  
List stringList = new ArrayList()
stringList.add("mystring");

you say
1  
2  
List<String> stringList = new ArrayList<String>()
stringList.add("mystring");


If you want a list that can take anything you use a wildcard.

1  
2  
List<?> stringList = new ArrayList<?>()
stringList.add("mystring");

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Kova

Senior Devvie





« Reply #3 - Posted 2006-04-07 00:48:11 »

that's a cool feature, I like it  Cool
is ArrayList<?> identical to ArrayList<Object> or wildcard has some stuff hidden underneath the hood? Also, is this only wildcard or can I use combo with constants, like "?List" ?
tnx ppl.
Offline bjgil2

Senior Newbie




That's it Mr. Giraffe, get all the marmalade


« Reply #4 - Posted 2006-04-07 01:59:25 »

This page should give you most of the generics info you could want.

http://mindprod.com/jgloss/generics.html
Offline Jeff

JGO Coder




Got any cats?


« Reply #5 - Posted 2006-04-07 20:19:32 »

that's a cool feature, I like it  Cool
is ArrayList<?> identical to ArrayList<Object> or wildcard has some stuff hidden underneath the hood? Also, is this only wildcard or can I use combo with constants, like "?List" ?
tnx ppl.

<?> and <Object> are not quite the same.  Theres an esoteric difference thatI can never remember.  Look at  one of the many references on generics.

Tehre are actually 2 other forms of the wildcard, <? extends Foo> and <? super Foo>


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

trollwarrior1 (29 views)
2014-11-22 12:13:56

xFryIx (71 views)
2014-11-13 12:34:49

digdugdiggy (50 views)
2014-11-12 21:11:50

digdugdiggy (44 views)
2014-11-12 21:10:15

digdugdiggy (38 views)
2014-11-12 21:09:33

kovacsa (62 views)
2014-11-07 19:57:14

TehJavaDev (67 views)
2014-11-03 22:04:50

BurntPizza (64 views)
2014-11-03 18:54:52

moogie (80 views)
2014-11-03 06:22:04

CopyableCougar4 (80 views)
2014-11-01 23:36:41
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!