zoukankan      html  css  js  c++  java
  • JAVA 一些方法

    equals 和 == 的区别

    • 首先的区别是,equals 是方法,而 == 是操作符;
    • 对于基本类型的变量来说(如 shortintlongfloatdouble),只能使用 == ,因为这些基本类型的变量没有 equals 方法。对于基本类型变量的比较,使用 == 比较, 一般比较的是它们的值
    • 对于引用类型的变量来说(例如 String 类)才有 equals 方法,因为 String 继承了 Object 类, equals 是 Object 类的通用方法。对于该类型对象的比较,默认情况下,也就是没有复写 Object 类的 equals 方法,使用 == 和 equals 比较是一样效果的,都是比较的是它们在内存中的存放地址。但是对于某些类来说,为了满足自身业务需求,可能存在 equals 方法被复写的情况,这时使用 equals 方法比较需要看具体的情况,例如 String 类,使用 equals 方法会比较它们的值
      没重写 equals
            Us u1 = new Us(1, 2);
            Us u2 = new Us(1, 2);
            System.out.println(u1 == u2);//false
            Us u3 = u1;
            System.out.println(u1 == u3);//true
            Us u1 = new Us(1, 2);
            Us u2 = new Us(1, 2);
            System.out.println(u1.equals(u2));// false
            Us u3 = u1;
            System.out.println(u1.equals(u3));// true

    String equals 被重写 比较值

        String a = "Hello World";
        String b = new String("Hello World");
        String c = b; //引用传递
        System.out.println("a == b:" + a == b);             //false
        System.out.println("b == c:" + b == c);             //true
        System.out.println("a == c:" + a == c);             //false
        System.out.println("a.equals(b):" + a.equals(b));   //true
        System.out.println("b.equals(c):" + b.equals(c));   //true
        System.out.println("a.equals(c):" + a.equals(c));   //true
    
        最终的打印会是:
        a == b:false
        b == c:true
        a == c:false
        a.equals(b):true
        b.equals(c):true
        a.equals(c):true

    Collection和Collections有什么区别?

    1. Collection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如List、Set等。
    2. Collections是一个包装类,包含了很多静态方法、不能被实例化,而是作为工具类使用,比如提供的排序方法: Collections.sort(list);提供的反转方法:Collections.reverse(list)。

    简述throw与throws的区别

    throw一般是用在方法体的内部,由开发者定义当程序语句出现问题后主动抛出一个异常。

    throws一般用于方法声明上,代表该方法可能会抛出的异常列表。

  • 相关阅读:
    Sqlite3:Sqlite3命令行Linux操作
    Docker:docker部署Sqlite3数据库
    SpringBoot:Sqlite3+SpringBoot2.1.3+Mybatis-Puls整合项目
    Algorithm:Java加密解密之MAC(消息认证码)
    Springboot:SpringBoot2.0整合WebSocket,实现后端数据实时推送!
    windows10系统安装anaconda后CMD命令行里面的python默认版本变化的问题
    在树莓派中,minicom的一些使用方法
    树莓派软硬串口对调
    树莓派无显示屏连接wifi教程
    设备管理器添加到桌面
  • 原文地址:https://www.cnblogs.com/tingtin/p/15780714.html
Copyright © 2011-2022 走看看