So I'm retrieving the attributes of my source class1 and set my
equivalent class2 in the other pkg with these attributes when
methods names -and attributes- match.
Excerpt from my method:
1 public my.persistent.Pst mapFromProtocol(my.protocol.Pst src)
2 {
3 my.persistent.Pst target = new my.persistent.Pst();
4 for (Iterator<my.protocol.Remark> it =
src.getRemark().iterator(); it.hasNext(); )
5 target.getRemark().add(it.next());
6
7 ... //many other attributes/objects to set too
8
9 return target;
10 }
In RAD the line 5 is underlined in yellow and it says "Type safety:
The method add(Object) belongs to the raw type List. References
to generic type List<E> should be parameterized".
Is there a way to avoid this warning in my case, as I can't
instantiate
a List<Remark> lr = new ArrayList() of course... (because I have no
method setRemark() in target)
Thanks.
Regards,
Seb
You could add an annotation to your method:
@SuppressWarnings("unchecked")
> 1 public my.persistent.Pst mapFromProtocol(my.protocol.Pst src)
> 2 {
...
> 10 }
But that would only be a cosmetic solution.
If it is possible for you to alter the my.persistent.Pst class, you
could change the remark's type to List<Object>.
The add method will accept everything, then.
Regards,
Jens
> for (Iterator<my.protocol.Remark> it =
>src.getRemark().iterator(); it.hasNext(); )
> 5 target.getRemark().add(it.next());
if you use a for:each Iterable, you would not need the <>.
--
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
Thanks for your replies.
Seb
Can you change the return type of getRemark() to List<Remark>?
And while you'r at it, change its name to getRemarks(). After all,
you're returning a collection of remarks.
Oh, and the for loop is probably not needed; try :
target.getRemark().addAll(src.getRemark());
Henk
:shrug:
If you've got your mind set on getting rid of that "beige serrated
underline" that much, you can always cast:
Collection<my.protocol.Remark> c = (Collection<my.protocol.Remark>)
src.getRemark();
--
DF.
to reply privately, change the top-level domain
in the FROM address from "invalid" to "net"
Ah, wait -- no you probably can't. Too bad.
Change target.getRemark() and src.getRemark() both to return List<Remark>
While your at it:
target.getRemark().addAll(src.getRemark()) might help you out some.
What I don't get is that if Pst.getRemark().iterator() returns an
Iterator<my.protocal.Remark>, then there shouldn't be a problem.
--
Daniel Pitts' Tech Blog: <http://virtualinfinity.net/wordpress/>