[转] C++的引用传递、指针传递参数在java中的相应处理方法
原文出处:[http://blog.csdn.net/conowen/article/details/7420533]
首先要明白一点,java是没有指针这个概念的。
但是要实现C++的引用传递、指针传递参数的话,也可以用数组的方式来实现。就是是一个int类型,也可以用一个元素的数组实现。
或者也可以用全局变量的方式。(静态变量)
package com.conowen;
import android.app.Activity;
import android.os.Bundle;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
byte word[] = new byte[10];
int num[] = new int[1];
fun1(word, num);
System.out.println("最后的num[0]值----->" + num[0]);
System.out.println("最后的word[1]值----->" + word[1]);
}
void fun1(byte[] word, int[] num) {
// do something
num[0] = 2;
word[1] = 'a';
System.out.println("在fun1的num[0]值------>" + num[0]);
System.out.println("在fun1的word[1]值------>" + word[1]);
fun2(num);
}
void fun2(int[] num) {
// do something
num[0] = 1;
System.out.println("在fun2的num[0]值------>" + num[0]);
}
}
//04-01 21:57:23.320: I/System.out(1999): 在fun1的num[0]值------>2
//04-01 21:57:23.320: I/System.out(1999): 在fun1的word[1]值------>97
//04-01 21:57:23.320: I/System.out(1999): 在fun2的num[0]值------>1
//04-01 21:57:23.320: I/System.out(1999): 最后的num[0]值----->1
//04-01 21:57:23.320: I/System.out(1999): 最后的word[1]值----->97