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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

朋友说,a可以为任何类型,只要能打印出if里面那句话,就算对,想了好久想不出来
public class Easy<T> {
        T a;
        public static void main(String[] args) {
                if(a != a) {
                        System.out.println("怎样才能执行到我呢?");
                }
        }
}

6 个回复

正序浏览
问题已经解决
回复 使用道具 举报
朋友终于给出答案了
public class Demo1<T> {
        T a;
        public static void main(String[] args) {
                double a = 0.0;
                double b = 0.0;
                a = a/b;
                if(a != a) {
                        System.out.println("想办法执行到我!");
                }
        }
}

11111.jpg (8.34 KB, 下载次数: 22)

11111.jpg

评分

参与人数 1黑马币 +20 收起 理由
张_涛 + 20 脑筋急转弯了...

查看全部评分

回复 使用道具 举报
- -!!!{:soso_e103:}  那不知道了。。。。。
回复 使用道具 举报
瞿乐 发表于 2012-8-6 22:25
主函数是静态的,T类型的a不是静态的啊。当然不可以访问,只可以通过实例对象访问了。
下面我创建一个实例 ...

你理解错题意了:lol
回复 使用道具 举报
主函数是静态的,T类型的a不是静态的啊。当然不可以访问,只可以通过实例对象访问了。
下面我创建一个实例对象,然后在通过对象访问,这个时候对象Easy的a就是相等了。
T可以为任何类型,也可以打印了if里面了,这是我理解的。
public class Easy<T> {
     T a;
    public static void main(String[] args) {
            Easy e = new Easy();
            if( e.a == e.a) {
                    System.out.println("怎样才能执行到我呢?");
            }
    }
}
回复 使用道具 举报
用一个叫类型对比的方法(instanceof),是个关键字
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马