webForumDet fria alternativet

Retunera datatyp

2 svar · 271 visningar · startad av Nickemannen

NickemannenMedlem sedan aug. 20003 575 inlägg
#1

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
#2

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());
	}

}
NickemannenMedlem sedan aug. 20003 575 inlägg
#3

Japp det var 2:an :D

128 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)