A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 freshnboy 于 2016-3-26 12:24 编辑
  1. public static void main(String[] args) {
  2.                 String[] arr=new String[5];
  3.                 for (int i = 0; i < arr.length; i++) {
  4.                         arr[i]=i+"";
  5.                 }
  6.                 swaparr(arr);
  7.                 for (int i = 0; i < arr.length; i++) {
  8.                         System.out.println(arr[i]);                        
  9.                 }
  10.         }

  11.         public static void swaparr(String[]arr) {
  12.                 String[] arr1=new String[5];
  13.                 for (int i = 0; i < arr1.length; i++) {
  14.                         arr1[i]=i*2+"";
  15.                 }
  16.                 arr=arr1;
  17.         }
复制代码
输出结果为: 0 1 2 3 4
arr不是记录的地址值吗?为什么传入了方法,却没有返回来呢?

5 个回复

倒序浏览
返回你得有return啊
回复 使用道具 举报
你把输出的for循环放你定义的方法里面

点评

  发表于 2016-3-26 17:40
回复 使用道具 举报
局部变量名称和成员变量名称一样时,在方法中使用的时候,采用的是就近原则。方法中的arr 与main() 中的arr 不是同一个 数组
回复 使用道具 举报
潘耿威 发表于 2016-3-26 13:54
局部变量名称和成员变量名称一样时,在方法中使用的时候,采用的是就近原则。方法中的arr 与main() 中的arr ...

啊啊!对对对!就是这个问题!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马