我之前从未真正使用Java枚举类来获取常量值,我过去通常使用“公共最终”方法.我现在开始使用枚举,并且我重写了toString()方法以返回与枚举名称不同的值.

我有一些JPA代码,我在其中创建一个带有命名参数的TypedQuery,其中一个是枚举值的String表示.如果我只使用Status.ACTIVE设置参数,我会得到正确的“A”值,但会抛出异常,因为它的类型实际上是Status而不是String.它只有在我显式调用toString()方法时才有效.我认为简单地重写toString()方法会导致返回一个String类型,无论类类型是什么.

这是枚举:

public enum Status {

ACTIVE ("A"),

PENDING ("P"),

FINISHED ("F");

private final String value;

Status(String value) {

this.value = value;

}

public String toString() {

return value;

}

};

这是TypedQuery:

TypedQuery query = entityManager().createQuery("SELECT o FROM MechanicTimeEvent o WHERE o.id.mechanicNumber = :mechanicNumber AND o.id.status = :status", MechanicTimeEvent.class);

query.setParameter("mechanicNumber", mechanicNumber);

query.setParameter("status", Status.ACTIVE.toString());

java枚举 tostring_Java枚举重写toString()相关推荐

  1. java中的tostring_java 中重写toString()方法

    toString()方法 一般出现在System.out.println(类名.toString()); toString()是一种自我描述方法 本身返回的是 getClass().getName() ...

  2. 【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  3. java 默认tostring_【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  4. java枚举.toString_java – Make Enum.toString()本地化

    我正在开发一个 Android应用程序,我想知道我是否可以设置Enum.toString()多语言. 我将在Spinner上使用这个枚举,我想使用多语言文本. public class Types { ...

  5. java lang tostring_java.lang.String.toString()方法实例

    全屏 java.lang.String.toString() 方法表示以文本格式表示结果,并返回字符串本身. 声明 以下是java.lang.String.toString()方法的声明public  ...

  6. java基础(十一) 枚举类型

    枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我 ...

  7. kotlin枚举_Kotlin枚举班

    kotlin枚举 In this tutorial, we'll be looking into Kotlin Enum classes. What's in store for them? How ...

  8. 用好 Java 中的枚举,让你的工作效率飞起来!

    1.概览 在本文中,我们将看到什么是 Java 枚举,它们解决了哪些问题以及如何在实践中使用 Java 枚举实现一些设计模式. enum关键字在 java5 中引入,表示一种特殊类型的类,其总是继承j ...

  9. c枚举类型enum例题_一篇文章让你详细了解Java中Enum枚举类的使用

    文章前记 程序员工作久了便可能整日忙碌于"增删改查"中,迷失方向,毫无进步. 该公众号致力于分享软件开发相关的原创干货,助你完成从程序员到架构师的进阶之路! 努力!做一个NB的Co ...

最新文章

  1. mybatis使用注解开发
  2. linux禁止路由器,FCC 新规可能禁止在 WiFi 路由器安装 OpenWRT
  3. vc++怎么利用ado连接数据库(mysql)
  4. 如何打开python的交互窗口-使用Python显示图形交互窗口
  5. python第三方库安装方法-Python第三方库安装
  6. DFS--POJ 1190 生日蛋糕
  7. 实训09.11:数据库一些简单操作
  8. JIURL文档-Linux的虚拟内存与分页机制(x86-64位)(一)
  9. pip/pip3更换国内源
  10. linux ln mysql.sock_linux中MySQL连接找不到mysql.sock文件
  11. 美团 2021 届秋季校园招聘笔试真题
  12. Nginx常用知识梳理(三)——windows环境下端口耗尽问题
  13. android 获取通话记录对应卡槽,短信记录对应卡槽
  14. 工具篇之HBuilderX使用教程
  15. socket接收消息 字符串长度
  16. 赴台旅学前奏~台湾旅游知识普及篇
  17. 数据库原理及应用学习笔记
  18. 朴素贝叶斯分类的原理与流程——转张洋
  19. 使用WLC+Portal完成认证
  20. 把数组中数字连起来组成一个最小的数字

热门文章

  1. python爬虫库的常见用法_$python爬虫系列(2)—— requests和BeautifulSoup库的基本用法...
  2. kcf算法流程_基于运动检测与KCF算法的目标跟踪方法
  3. java 修改文件创建时间_Java如何更改文件的最后修改时间?
  4. 在docker中配置defects4j基准测试集
  5. Django Filter : TypeError: __init__() got an unexpected keyword argument 'name'
  6. mysql左联和右联_MySQL联合查询语法内联、左联、右联、全联
  7. Android井字棋
  8. C语言简单算法之求交错序列前N项和,统计学生平均成绩与及格人数,求1到100的和,求奇数分之一序列前N项和,找出最小值,求n!,统计字符,最佳情侣身高差
  9. 【原创】使用Docker试用OceanBase Cloud Platform(OCP)
  10. 笔记本合上盖子后无法唤醒?