Zwracanie 2 wartości przez funkcję.

0

Witam. Mam dość banalne pytanie:

Jak w miarę elegancko zwrócić 2 wartości przez dunkcję. Przez return zwracam obiekt mojej wlascnej klasy. Dodatkowo chce zwrócic String'a. Nie wiem jak to jest z tą referencją, ale jak daję jako argument ten String i pozniej w funkcji go zmieniam to niesety nie zmienia on swej wartosci :/

Prosze nie pytac po co, po prostu chce wiedziec jak to najlepiej zrobic. Zrobilbym to kozystajac z klasy Vector, ale moze jest cos latwiejszego i bardziej przyjaznego?

Dodam ze pisze w J2ME, wiec nie wszystko sie tu da zrobic niestety.

0

Może użyj zmiennej globalnej

0

Nie można zwracać wartości przez argument, bo to po prostu nie zadziała. Stwórz sobie klasę reprezentującą dwie wartości i tyle. Przykład:

public class Pair<K, V> {
	private K key;
	private V value;
	
	public Pair(K key, V value) {
		this.key = key;
		this.value = value;
	}
	
	public K getKey() {
		return key;
	}
	
	public V getValue() {
		return value;
	}
	
	public String toString() {
		return String.format("%s : %s", key.toString(), value.toString());
	}
}

Użycie:

import java.awt.Point;

public class Program {

	static public void main(String args[]) {
		String name = "Nazwa punktu";
		Pair<String, Point> point = createPointAndName(name);
		System.out.println(point.toString());
		System.out.println(name);
	}
	
	private static Pair<String, Point> createPointAndName(String name) {
		Point pointTmp = new Point(12, 23);
		String nameTmp = "Punkt 0";
		name = nameTmp;//nie zadziała
		return new Pair<String, Point>(nameTmp, pointTmp);
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1