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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜正华 中级黑马   /  2012-9-24 22:50  /  1737 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杜正华 于 2012-9-24 23:26 编辑

package com.aduvm.practice;
public class RefelctTest {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
        //数组的反射
        int[] a1 = new int[3];
        int[] a2 = new int[4];
        int[][] a3 = new int[2][3];
        String[] a4 = new String[3];
        System.out.println(a1.getClass() == a2.getClass());
        System.out.println(a2.getClass() == a3.getClass());  //为什么错误 照着张老师视频打的代码,搞不明白
        System.out.println(a1.getClass() == a4.getClass());  //为什么错误 照着张老师视频打的代码,搞不明白
}
}
有人说编译器版本变高了,检查错误机制严格了,但是我把编译环境调到1.4怎么还是错误??

9 个回复

倒序浏览
不兼容的操作数类型类<捕获# 3的吗?扩展了int[]>和<捕获# 4的类呢?
扩展了int[][]> 这个现在版本已经在java语法上就出错了
回复 使用道具 举报
  a2是int[],a3是int[][]  字节码不能比较吧
int[] a2 = new int[4];
int[][] a3 = new int[2][3];
还有int[] and String[]也是同理啊
字节码类型不一样,也不能比较
只有同种类型的,才能比较吧

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 很给力!

查看全部评分

回复 使用道具 举报
尤圣回 发表于 2012-9-24 22:58
不兼容的操作数类型类和 这个现在版本已经在java语法上就出错了

哥们儿,你13天就30分了,怎么升那么快
回复 使用道具 举报
我早上才10分的
回复 使用道具 举报
把语言版本换成1.4为什么还是出错??
回复 使用道具 举报
楼主我还特地新建项目试了一下,1.4或以下版本可以编译通过,但从1.5开始就不能编译通过了。

楼主你确定你是降到了1.4?最好还是新建一个1.4的项目试试吧
回复 使用道具 举报
好的,谢谢
回复 使用道具 举报
尤圣回 发表于 2012-9-24 23:02
我早上才10分的

真是奇迹了
回复 使用道具 举报
基本数据类型的一维数组不是一个object对象,基本数据类型的二维数组是一个object对象,引用数据类型的数组就是一个object对象,像字符串数组就是
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马