webForumDet fria alternativet

Retunera datatyp

Java

2 svar · 271 visningar · startad av Nickemannen

Medlem sedan aug. 20003 575 inlägg
Frågan#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

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

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

Japp det var 2:an :D

373 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
239 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
239 ms — ändringar (db)