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, botów: 0