查了晟 2020-06-04 15:33 采纳率: 0%
浏览 222

关于Java中增强型for循环遇到的问题

当我在使用Java的增强型for循环时

public class Text {
    public static void main(String[] args) {
        int a[] = new int[]{1, 2, 3, 4, 5};
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+",");
        }

        System.out.println();
        System.out.println("增强型for:");
        for(int e : a){
            System.out.print(e+",");
        }
    }
}

上下输出的一样

这是正常的使用方法
但在我将增强型for循环里输出的“e”改为“a”时

public class Text {
    public static void main(String[] args) {
        int a[] = new int[]{1, 2, 3, 4, 5};
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+",");
        }

        System.out.println();
        System.out.println("增强型for:");
        for(int e : a){
            System.out.print(a+",");
        }
    }
}

代码输出
我以为他输出的是a数组的地址
但在我在代码中加入System.out.println(a);输出地址是

public class Text {
    public static void main(String[] args) {
        int a[] = new int[]{1, 2, 3, 4, 5};
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+",");
        }

        System.out.println();
        System.out.println(a);
        System.out.println("增强型for:");
        for(int e : a){
            System.out.print(a+",");
        }
    }
}

代码输出
这时他的地址变了

我想问一下这是什么原因导致的,求大神指导

  • 写回答

2条回答 默认 最新

  • 我好fl 2020-06-04 15:55
    关注

    a+","在拼接字符的时候,int类型的数据转成了包装类型,int是基本类型,现在变成Integer类

    评论

报告相同问题?

悬赏问题

  • ¥15 信贷平台.用户信用评估和风险评估怎么做,希望来个做过的Java.有合作的机会
  • ¥15 IMageEN获得图形顶点坐标的问题
  • ¥50 软件PC客户端抓包,获取http请求和响应
  • ¥15 手机被安装黑客软件怎么办?
  • ¥15 Windows C++ PaddleOcr 中文模型的训练方法
  • ¥15 c# 用scottplot画 以时间为纵坐标,数值为横坐标画曲线图
  • ¥15 手机应用程序安装异常
  • ¥15 grbl的G92修改MPos的问题。
  • ¥15 vue2中,Ant Design Pro s-table中,使用服务端排序怎么做
  • ¥15 阿里巴巴国际站的商品详细页如何做到图文分离