01/10/2018, 15:38

Làm sao để lấy nhiều giá trị trả về với nhiều kiểu dữ liệu trong Java nếu không có truyền tham chiếu

Chào mọi người, theo mình biết là Java không có truyền tham số dưới dạng tham chiếu - pass by reference, vậy giả sử nếu mình muốn làm một hàm tính tổng 2 số nguyên dương như C++ kiểu như:

unsigned int SumOfTwoInts(int firstInt, int secondInt, bool &validUnsignedInt) {
    if (firstInt < 0 || secondInt < 0) {
        validUnsignedInt = false;
        return 0;
    }
    validUnsignedInt = true;
    return firstInt + secondInt;
}

Nếu muốn trả có tham số trả về như bool &validUnsignedInt để check tính hợp lệ của 2 số nguyên dương thì làm thế nào trong Java? Cảm ơn mọi người nhiều.

Nguyen Lam viết 17:53 ngày 01/10/2018

bạn có thể viết hàm check riêng ra

anon45952904 viết 17:44 ngày 01/10/2018

Bạn có thể làm kiểu sau:

unsigned int[] SumOfTwoInts(int firstInt, int secondInt) {
    
   if (firstInt < 0 || secondInt < 0) {
        return {0, -1}
    }
   
    return {firstInt + secondInt, 0};
}

hoặc

 unsigned int SumOfTwoInts(int firstInt, int secondInt, BooleanProperty boolProp) {
        if (firstInt < 0 || secondInt < 0) {
            boolProp.set(false);
            return 0;
        }
         boolProp.set(true);
        return firstInt + secondInt;
    }

hoặc
unsigned int SumOfTwoInts(int firstInt, int secondInt, Object boolWraper) { ...}

Không chính xác code java nhưng ý tưởng là vậy.

Bài liên quan
0