Java DayOfWeek将日名称(字符串)转换为日数

Java DayOfWeek将日名称(字符串)转换为日数,java,java-time,dayofweek,Java,Java Time,Dayofweek,我正在尝试将工作日的字符串值转换为数字 我正在查看Enum DayOfWeek(),但它没有按我预期的方式工作 代码 String n = "MONDAY"; System.out.println(n); //prints MONDAY System.out.println(DayOfWeek.valueOf(n)); //also prints MONDAY - should print 1 如何从字符串中获取相应的数字?DayOfWeek 在这里,您需要获取星期几的int值。为此,您需要

我正在尝试将工作日的字符串值转换为数字

我正在查看
Enum DayOfWeek
(),但它没有按我预期的方式工作

代码

String n = "MONDAY";

System.out.println(n); //prints MONDAY
System.out.println(DayOfWeek.valueOf(n)); //also prints MONDAY - should print 1
如何从字符串中获取相应的数字?

DayOfWeek
在这里,您需要获取星期几的int值。为此,您需要使用和。如果字符串输入使用一周中某一天的完整英文名称(如在枚举对象上使用的那样),则此选项有效

 System.out.println(DayOfWeek.valueOf(n).getValue());
它返回一周中的某一天,从1(星期一)到7(星期日)

看。使用:

获取星期几的int值。

这些值在 ISO-8601标准,从1(星期一)到7(星期日)

就你而言

System.out.println(DayOfWeek.valueOf(n).getValue());

DayOfWeek
是一个不会覆盖
toString
的枚举,因此默认行为是打印枚举常量的名称,即。这就是你看到这种行为的原因