zoukankan      html  css  js  c++  java
  • 「JavaSE 重新出发」02.02 引用数据类型

    引用(复合)数据类型

    1. 枚举类型

    例:
    枚举类型 Size 的声明:
    enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };
    声明 Size 类型变量:
    Size s = Size.MEDIUM;

    注意:

    • Size 类型的变量只能存储这个类型声明中给定的某个枚举值,或者 null 值。
    • toString 方法与 Enum.valueOf 静态方法
    • 在比较两个枚举类型的值时,不需要调用 equals,可以直接使用 == 比较。

    补充:

    public enum Day
    {
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }
    跟类定义一样,枚举类型可以单独放在一个文件里,当一个枚举类型用 public 修饰时,它对其他包可见,否则只对同一个包中的类可见,这和类定义是一样的。
    标识符 MONDAY, TUESDAY等就称为枚举常量(enumeration constants)
    每一个枚举常量被隐式的声明成 Day 的一个public、static成员,而且其类型为Day,亦就是说这些常量是 self-typed 的
    Ref:java里有枚举类型吗?如何定义?

    2. 字符串

    • 字符串是不可变的
      • Java 的设计者认为共享带来的高效率远远胜于提取、拼接字符串所带来的低效率。
    • 使用equals()方法比较字符串内容
      • 如果虚拟机始终将相同的字符串共享,就可以使用==运算符检测是否相等。但实际上只有字符串常量是共享的,而+.substring(parm)等操作产生的结果并不是共享的。因此,千万不要使用==运算符测试字符串的相等性,以免在程序中出现糟糕的 bug。从表面上看,这种 bug 很像随机产生的间歇性错误。
    • 空串:str.length() == 0str.equals("")
    • null串:str == null
  • 相关阅读:
    7个简单但棘手的JavaScript面试问题
    Promise.then链式调用顺序
    JS模拟实现枚举
    web前端常见的加密算法介绍
    JavaScript浮点数精度
    工作中常用的JavaScript函数片段
    JavaScript Array (数组) 对象
    快速找出数组中是否包含公共项
    用JavaScript让你的浏览器说话
    JavaScript的声明提升
  • 原文地址:https://www.cnblogs.com/hiwangzi/p/7602308.html
Copyright © 2011-2022 走看看