黑马程序员技术交流社区

标题: 新人求教equals方法的 [打印本页]

作者: 超级宝贝乐爷    时间: 2015-11-9 18:08
标题: 新人求教equals方法的
本帖最后由 超级宝贝乐爷 于 2015-11-9 18:13 编辑

为什么我第二种方法直接就编译失败 如果一定要用equals比较两个数是否相等该如何去改
public class Car1 {
        //需求:判断两个数是否相同, 使用==方法
        public static boolean method1(int x,int y)
        {
        //需求:判断两个数是否相同
                //思路:要用到equals方法 返回值类型为Boolean 参数为两个整数
                //步骤1 写函数返回值类型为Boolean
                //2用equals方法比较两个数
                //返回比较所得真假
               
                return  x==y;
               
        }
        //需求:判断两个整数数是否相同,使用equals方法
        public static boolean method2(int x,int y)
        {
        //需求:判断两个数是否相同
        
               
                return x.equals(y);
               
        }
        public static void main(String[] args)
        {
               
                System.out.println(method1(8,8));
        
        }
}


作者: sabrina妖儿    时间: 2015-11-9 20:16
equals()方法是Object()类里面的方法,之后也有很多类重写了这个方法,不过int是基本的数据类型,是不具有这个方法的。
作者: sabrina妖儿    时间: 2015-11-9 20:17
Java当中Object类当中有equals方法 但是基本数据类型并不是Object类型,之后String、Date、File类型重写了这个方法。
Java当中有两种数据类型 1st.基本数据类型 2nd.引用类型     其中基本数据类型包括boolean char byte short int long float double        引用类型就是自定义类型也就是Object类型  必须要明白在Java当中能够调用equals方法比较的必须是引用类型 基本数据类型是语言内置的 并不是Object子类类型 所以不能调用equals方法 直接使用==比较即可
作者: 超级宝贝乐爷    时间: 2015-11-9 21:04
sabrina妖儿 发表于 2015-11-9 20:17
Java当中Object类当中有equals方法 但是基本数据类型并不是Object类型,之后String、Date、File类型重写了 ...

谢谢 我已经解决了
作者: zhengsx    时间: 2015-11-9 22:00
学到了。。。
作者: 784080960    时间: 2015-11-9 22:06

学到了。。。
作者: iq513394    时间: 2015-11-9 22:34
基本数据类型不能调用方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2