Jo, jag undrar hur jag från en metod kan retunera en datatyp.
Min funktion skall alltså säga till en annan funktion vilket slags datatyp skall användas.
Jag vill också kunna sätta en datatyp som private i den klassen som har funktionen som skall retunera datatypen
LimeMedlem sedan sep. 2001961 inlägg Vill du returnera en viss datatyp eller vill du kunna returnera vilken datatyp som helst??
I det första fallet så är det enkelt. Då deklarerar du bara attributet i klassen som private och i metodanropet så skriver du vilken typ som returneras. Såhär:
public class Type
{
private int attribute = 0;
public int getAttribute()
{
return attribute;
}
}
Om du däremot inte vet vilken typ som skall returneras så blir det knepigare. Då måste du börja använda dig av Generic.
Har gjort en väääldigt enkel liten klass och en testklass som du kan kika på. Generic typing i java är koolt...
GType.java
public class GType<E>
{
private E attribute;
public GType(E attribute)
{
this.attribute = attribute;
}
public E getAttribute()
{
return attribute;
}
}
TestGType.java
public class TestGType
{
/**
* @param args
*/
public static void main(String[] args)
{
GType<String> stringType = new GType<String>("StringGType");
GType<Integer> intType = new GType<Integer>(new Integer(42));
System.out.println(stringType.getAttribute());
System.out.println("stringType returned an attribute of type " + stringType.getAttribute().getClass());
System.out.println(intType.getAttribute());
System.out.println("intType returned an attribute of type " + intType.getAttribute().getClass());
}
}