18 Stimmen

Java Generics und Zahlen

In einem Versuch zu sehen, wenn ich einige meiner mathematischen Code, meist Matrix Zeug bereinigen kann, versuche ich, einige Java Generics zu verwenden. Ich habe die folgende Methode:

private <T> T[][] zeroMatrix(int row, int col) {
    T[][] retVal = (T[][])new Object[row][col];
    for(int i = row; i < row; i++) {
        for(int j = col; j < col; j++) {
            retVal[i][j] = 0;
        }
    }
    return retVal;
}

Die Zeile retVal[i][j] = 0 ist diejenige, die mir Kopfschmerzen bereitet. Das Ziel der Zeile ist es, das Array mit der T-Darstellung von 0 zu initialisieren. Ich habe versucht, alle möglichen Dinge damit zu tun: (T ist in der Klasse als T extends Number definiert)

retVal[i][j] = (T)0;
retVal[i][j] = new T(0);

Das Einzige, was funktioniert, ist

retVal[i][j] = (T)new Object(0);

Das ist nicht das, was ich will.

Ist dies möglich? Gibt es eine einfachere Möglichkeit, eine NxM-Matrix eines beliebigen Zahlentyps (einschließlich möglicherweise BigDecimal) darzustellen, oder komme ich nicht weiter?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X