दोस्तों मैंने जावा पास सरणी सहित संदर्भ में सभी भाषाएं संदर्भित की हैं (संशोधित)जावा सरणी पास काम नहीं करता है?
लेकिन किसी भी तरह से यह यहां काम नहीं करता है। और testArray 3
अजीब पर्याप्त के आकार के साथ अभी भी 1,2,3 है, जब मैं बदल अगर परिणाम [i] = 2 के लिए [1] = एक 2; यह चलेगा । यह संदर्भ
इस कोड के साथ क्या गलत है?
अंत में, मेरे पास एक = परिणाम था; (जो ए अद्यतन)। परिणाम स्टैक से हटा दिया गया। यही कारण है कि अभी भी एक मूल के लिए मिलता है?
मैं उलझन में हूं।
धन्यवाद
class Test
{
public static void main(String[] args)
{
int[] testArray = {1,2,3};
equalize(testArray, 6);
System.out.println("test Array size :" + testArray.length);
for(int i = 0; i < testArray.length; i++)
System.out.println(testArray[i]);
}
public static void equalize(int[] a, int biggerSize)
{
if(a.length > biggerSize)
throw new Error("Array size bigger than biggerSize");
int[] result = new int[biggerSize];
// System.arraycopy(a, 0, result, 0, a.length);
// int array default value should be 0
for(int i = 0; i < biggerSize; i++)
result[i] = 2;
a = result;
}
}
कृपया व्याख्या अपने विवरण में तर्क। क्या आप सरणी आकार का विस्तार करने की कोशिश कर रहे हैं? वर्तमान में आपका परिणाम सरणी मूल सरणी से किसी भी मान की प्रतिलिपि नहीं बनाता है। – Sujee
क्या आपने देखा है? –
hejiaming007