我注意到println()会这样做,但我不能让它在printf()中工作.
在下面的片段中,前两个println给出RED和BLUE,然后printf崩溃.
class Jim {
public enum Colours {BLUE, RED}
static Colours xx = Colours.RED;
public static void main(String[] args) {
Colours fred = Colours.BLUE;
System.out.println(xx);
System.out.println(fred);
System.out.printf("%d, %d\n", fred, xx);
}
Run Code Online (Sandbox Code Playgroud)
%d格式说明符与enum类型不兼容,除非对ordinal值使用.要调用enum's toString方法(使用该name字段),您可以%s改为使用
System.out.printf("%s, %s%n", fred, xx);
Run Code Online (Sandbox Code Playgroud)
阅读:枚举
| 归档时间: |
|
| 查看次数: |
5814 次 |
| 最近记录: |