强哥说Java--枚举类,深信服java社招面试

man

未知

4. Enum 类


java.lang.Enum类 是 Java 语言枚举类型的公共基类,我们使用enum关键字定义的枚举类,是隐式继承自Enum类的,下面我们来看一下Enum类的常用方法:

  • values():返回枚举类型的对象数组。该方法可以很方便的遍历所有的枚举值;

  • valueOf():可以把一个字符串转换为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”,如果不是,会抛出IllegalArguementException

  • toString():返回当前枚举类对象常量的名称。

这 3 个方法使用起来比较简单,因此我们写在一个实例中,代码如下:

package com.caq.exception;

public class Test2 {

public static void main(String[] args) {

Test test1 = Test.man;

System.out.println(“调用 toString方法”);

System.out.println(test1.toString());

System.out.println(“调用values方法”);

Test[] values = Test.values();

for (Test value : values){

System.out.println(value);

}

System.out.println(“调用values方法”);

Test test2 = Test.valueOf(“man”);

System.out.println(test2);

}

enum Test{

//使用enum关键字生成枚举类

//1.枚举类内部提供多个对象,这些对象用逗号分隔开来

//2.声明枚举类的属型

//3.编写构造方法,为属型赋值

//3.提供获得属型的Getter方法(封装里的知识)

//1.

man(“男”),

woman(“女”),

unknow(“未知”);

//2.

private final String sexName;

//3.

Test(String sexName){

this.sexName=sexName;

}

public String getSexName() {

return sexName;

}

}

}

运行结果:

调用 toString方法

man

调用values方法

man

woman

unknow

调用values方法

man

值得注意的是,当调用valuOf()方法时,我们传递的对象的“名字”,在枚举类中并不存在,此时会抛出运行时异常:IllegalArgumentException,实例如下:

package com.caq.exception;

public class Test2 {

public static void main(String[] args) {

Test test1 = Test.man;

System.out.println(“调用values方法”);

Test test2 = Test.valueOf(“man1”);

System.out.println(test2);

}

enum Test{

//使用enum关键字生成枚举类

//1.枚举类内部提供多个对象,这些对象用逗号分隔开来

//2.声明枚举类的属型

//3.编写构造方法,为属型赋值

//3.提供获得属型的Getter方法(封装里的知识)

//1.

man(“男”),

woman(“女”),

unknow(“未知”);

//2.

private final String sexName;

//3.

Test(String sexName){

this.sexName=sexName;

}

public String getSexName() {

return sexName;

}

}

}

运行结果:

调用values方法

Exception in thread “main” java.lang.IllegalArgumentException: No enum constant com.caq.exception.Test2.Test.man1

at java.lang.Enum.valueOf(Enum.java:238)

at com.caq.exception.Test2$Test.valueOf(Test2.java:12)

at com.caq.exception.Test2.main(Test2.java:8)

5. 小结


小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

总结

面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。

以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考

一份还热乎的蚂蚁金服面经(已拿Offer)面试流程4轮技术面+1轮HR

你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)**
[外链图片转存中…(img-IpX6afmJ-1710421059905)]

总结

面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。

以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考

[外链图片转存中…(img-Adz4O3y4-1710421059906)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值