java 10 Object 类

Object 类

equals

​ Object 类的equals()方法默认在比较两个对象的地址值是否相同,但是老是比较地址值意义不大,我们想要比较两个对象的成员变量是否相同,如果相同,我们认为两个对象就相等。也就是说,子类想要按照他的比较方式来比较,那么子类要重写equals()方法。

​ “张三” == “张三” == 比不出来两个字符串字面上的内容是否相同。如果要比较两个字符串字面上的内容是否相同,要调用equals()方法。

  • instanceof 判断一个引用是不是该类型的一个引用。

  • == 和equals的区别

    1. == 是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型。==比较基本数据类型,比较的是两个值是否相等,比较引用类型,比较的是地址值是否相等。
    2. equals()是Object类中的方法,只能比较引用类型,默认比较的是两个对象的地址值是否相等。语法:s1.equals(s1)
    3. 有些类,会认为父类Object类中equals()方法的默认比较方式,意义不大,会对equals()方法进行重写。
    4. 我们自定义的类,会重写时,回去比较两个对象的成员变量值是否相同。
  • 不比较地址值,比较两个对象的成员变量是否相同

在这里插入图片描述

clone

在这里插入图片描述

克隆时,需要给被克隆类打上一个标记接口(class Dog implements Cloneable{}),目的是让虚拟机支持克隆操作

  • 浅克隆

    就是克隆一个对象的时候,如果被克隆的对象中维护了另外一个类的对象,这时候只是克隆另外一个对象的地址,而没有把 另外一个对象也克隆一份。

Scanner
  • Scanner

    ​ 构造一个新的Scanner,它生成的值是从指定的输入流扫描的。

    ​ public static final InputStream in“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。

    • nextXXX 系列的方法,录入int类型、Double类型、字符串类型数据
      sc.nextInt();sc.nextDouble();sc.nextLine();
    • hasNextXxx() 判断下一个是否是某种类型的元素, 其中Xxx可以是Int, Double等。
      如果需要判断是否包含下一个字符串,则可以省略Xxx

在这里插入图片描述

String

​ 字符串:就是由一个或多个字符组成的序列

​ 字符串可以看成是字符数组,每一个字符从左往后编有索引,从0开始

String 类代表字符串。

  1. Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。

  2. 字符串是常量;它们的值在创建之后不能更改。

在这里插入图片描述

  • String s = new String(“hello”) 和String s =“hello”;的区别

    先在堆中开辟字符串常量池,再new对象

    String s = new String(“hello”)创建了两个对象

    String s ="hello"创建一个对象

在这里插入图片描述

  • 相同的字符串地址相同

在这里插入图片描述

在这里插入图片描述

  • intern()取这个字符串在常量池的地址值

在这里插入图片描述

  • String():空参构造 初始化一个新创建的 String 对象,使其表示一个空字符序列。

    String s = new String();
    String 类重写了父类的toString方法,打印的是字符串字面值

    空串:""

  • public String( byte[] bytes):把字节数组转成字符串

在这里插入图片描述

  • String类 方法

    • 判断两个字符串字面上的内容是否相同,区分大小写

      boolean b = "abc".equals("abc");
      
    • 不区分大小写比较

      b = "abc".equalsIgnoreCase("ABC");
      
    • 判断一个字符串不是空串

      String str="";
      boolean empty = str.isEmpty();
      
    • 例:需求:模拟登录, 给三次机会, 并提示还有几次。

    在这里插入图片描述

    • 获取字符串长度

    在这里插入图片描述

    • 根据索引,获取字符串中的单个字符

在这里插入图片描述

  • 返回指定字符在此字符串中第一次出现处的索引。如果返回 -1 表示没有找到

在这里插入图片描述

  • 从指定的索引出开始查找改字符第一次出现的索引

在这里插入图片描述

  • 从指定的索引出开始查找改字符第2次出现的索引

在这里插入图片描述

  • 从后往前进行检索

在这里插入图片描述

  • 从指定的索引出,截取到末尾返回

在这里插入图片描述

  • 根据起始索引和终止索引截取一部分字符串,含头不含尾

    在这里插入图片描述

  • 遍历字符串,反向遍历

在这里插入图片描述

  • 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)

在这里插入图片描述

  • 将字符串转为字符数组并遍历

在这里插入图片描述

  • 转大小写

    String s2 = "abc".toUpperCase();
    String s3 = "BcD".toLowerCase();
    
  • 将数字转化成字符串

    int num=100;  //"100"
    String str3=num+""; //拼接空串
    

    或 (把很多种类型转化为字符串)

    String s4 = String.valueOf(100);
    String s5 = String.valueOf(false);
    
  • 拼接字符串

在这里插入图片描述

  • 字符串替换

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值