यह देखने के प्रयास में कि क्या मैं अपने कुछ गणित कोड को साफ़ कर सकता हूं, ज्यादातर मैट्रिक्स सामान, मैं कुछ जावा जेनरिक का उपयोग करने की कोशिश कर रहा हूं। मेरे पास निम्न विधि है:जावा जेनरिक और संख्या
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;
}
लाइन retVal [i] [j] = 0 वह मुझे सिरदर्द का कारण बनता है। लाइन के लक्ष्य 0. की टी प्रतिनिधित्व मैं इसके साथ चीजों के सभी प्रकार के कर करने का प्रयास किया साथ सरणी को प्रारंभ करने के लिए है: (टी कक्षा में परिभाषित किया गया है टी फैली रूप में संख्या)
retVal[i][j] = (T)0;
retVal[i][j] = new T(0);
केवल काम जो काम करता है
retVal[i][j] = (T)new Object(0);
जो मैं नहीं चाहता हूं।
क्या यह संभव है? क्या किसी भी प्रकार की संख्या (संभावित रूप से BigDecimal सहित) के एनएक्सएम मैट्रिक्स का प्रतिनिधित्व करने का कोई आसान तरीका है, या मैं अटक गया हूं?
मेरे पास इस चर्चा में जोड़ने के लिए बहुत कुछ नहीं है, लेकिन ऐसे प्रश्न प्रदान करने के लिए धन्यवाद जो इस तरह के महान उत्तरों को उकसाता है। मैं जेनिक्स के जावा के कार्यान्वयन से खुश नहीं हूं, लेकिन अब मैं उन्हें बेहतर समझता हूं। –