当前位置: 首页 > news >正文

Java基础 8.25

1.enum常用方法的使用

  • toString:Enum类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息
  • name:返回当前对象名(常量名),子类中不能重写
  • ordinal:返回当前对象的位置号,默认从0开始
  • values:返回当前枚举类中所有的常量
  • valueOf:将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
  • compareTo:比较两个枚举常量,比较的就是编号

新知识点:增强for循环

package com.logic.enum_;/*** @author logic* @version 1.0* 演示Enum类各种方法的使用*/
public class EnumMethod {public static void main(String[] args) {Season2 autumn = Season2.AUTUMN;//输出枚举对象的名称System.out.println(autumn.name());//ordinal() 输出的是该枚举对象的次序/编号 从0开始编号//AUTUMN 是第三个 因此输出2System.out.println(autumn.ordinal());//从反编译可以看出values方法 返回Season2[]//含有定义的所有枚举对象Season2[] values = Season2.values();//增强for循环//执行流程 从values中依次取出数据 赋给season 如果取出完毕 则退出for循环for (Season2 season : values) {System.out.println(season);}//根据你输入的AUTUMN到Season2的枚举对象去查找//如果找到了 就返回 如果没有找到 就报错Season2 autumn1 = Season2.valueOf("AUTUMN");System.out.println(autumn1);System.out.println(autumn1 == autumn);//compareTo 比较两个枚举常量 比较的就是编号//就是把 Season2.AUTUMN 枚举对象的编号和Season2.SUMMER 枚举对象的编号比较//Season2.SUMMER编号[1] - Season2.AUTUMN编号[2]System.out.println(Season2.SUMMER.compareTo(Season2.AUTUMN));}
}

2.enum的练习

声明Week枚举类,其中包含星期一至星期日的定义:MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, SUNDAY;使用values返回所有的枚举数组,并遍历,输出

package com.logic.enum_;/*** @author logic* @version 1.0*/
public class EnumExercise02 {public static void main(String[] args) {Week[] values = Week.values();System.out.println("==所有星期的信息如下==");for (Week day : values) {System.out.println(day);}}
}enum Week {MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"),FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日");private String cn;private Week(String cn) {this.cn = cn;}@Overridepublic String toString() {return cn;}
}

3.enum细节

使用enum关键字后,就不能再继承其它类了,因为enum会隐式继承Enum,而Java是单继承机制

枚举类和普通类一样,可以实现接口,如下形式:enum 类名 implements 接囗1,接口2

http://www.dtcms.com/a/349415.html

相关文章:

  • 如何在Debian服务器上设置Node.js日志轮转
  • 深度学习入门第一课——神经网络实现手写数字识别
  • java后端如何实现下载功能
  • Python爬虫实战:Selenium模拟操作爬取马蜂窝旅游攻略
  • 神经网络与梯度算法:深度学习的底层逻辑与实战解析
  • Python办公——爬虫百度翻译网页版(自制翻译小工具——进阶更新版)
  • Python爬虫框架设计:类封装与工程化实践​
  • Linux驱动开发笔记(七)——并发与竞争(下)——自旋锁信号量互斥体
  • 计算机网络课堂笔记
  • frp基础知识
  • React 学习笔记2 props、refs
  • 消息中间件RabbitMQ03:结合WebAPI实现点对点(P2P)推送和发布-订阅推送的Demo
  • 从C语言到数据结构:保姆级顺序表解析
  • 使用OpenSSL生成自签名证书
  • 基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化
  • 逆向抄数工程师能力矩阵:设备操作(±0.05mm 精度)× 曲面重构 ×GDT 公差分析
  • C++|UDP通讯使用总结
  • Fluent Bit系列:字符集转码测试(下)
  • Dify 从入门到精通(第 55/100 篇):Dify 的模型微调(进阶篇)
  • Devops之Jenkins:Jenkins服务器中的slave节点是什么?我们为什么要使用slave节点?如何添加一个windows slave节点?
  • 如何监控ElasticSearch的集群状态?
  • Fluent Bit系列:字符集转码测试(上)
  • LengthFieldBasedFrameDecoder 详细用法
  • Error ratio tests for 200 Gb/s per lane ISLs using PMAmeasurements
  • 李沐-第十章-实现Seq2SeqAttentionDecoder时报错
  • 什么是事件循环(Event Loop)?浏览器和 Node.js 中的事件循环有什么区别?
  • springboot整合druid(多数据源配置)
  • Python_occ 学习记录 | 阵列
  • 李沐-第十章-训练Seq2SeqAttentionDecoder报错
  • 十九、云原生分布式存储 CubeFS