{"id":123951,"date":"2024-06-20T17:38:00","date_gmt":"2024-06-20T14:38:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=123951"},"modified":"2024-06-20T12:27:44","modified_gmt":"2024-06-20T09:27:44","slug":"mapping-enums-and-strings-with-mapstruct","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html","title":{"rendered":"Mapping Enums and Strings with MapStruct"},"content":{"rendered":"<p><a href=\"https:\/\/www.javacodegeeks.com\/2016\/12\/mapstruct-transferring-data-one-bean-another.html\" target=\"_blank\" rel=\"noreferrer noopener\">MapStruct<\/a> is a Java annotation processor that streamlines the implementation of mappings between Java beans, including complex scenarios such as converting Enums to Strings and vice versa. This article explores various enum to string mapping techniques using <a href=\"https:\/\/mapstruct.org\" target=\"_blank\" rel=\"noreferrer noopener\">MapStruct<\/a>. <\/p>\n<h2 class=\"wp-block-heading\">1. Mapping an Enum to a String<\/h2>\n<p>Let&#8217;s say we have an Enum and want to map it to a String representation for various purposes like JSON serialization.<\/p>\n<h3 class=\"wp-block-heading\">1.1 Example<\/h3>\n<p>Define an Enum:<\/p>\n<p><span style=\"text-decoration: underline\"><em>Status.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\npublic enum Status {\n    ACTIVE, INACTIVE, PENDING\n}\n<\/pre>\n<h3 class=\"wp-block-heading\">1.2 MapStruct Mapper<\/h3>\n<p>We want to map the above enum to a string. Let&#8217;s define the Mapper interface:<\/p>\n<p><span style=\"text-decoration: underline\"><em>StatusMapper.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\n@Mapper\npublic interface StatusMapper {\n    \n    StatusMapper INSTANCE = Mappers.getMapper(StatusMapper.class);\n\n    String toString(Status status);\n}\n<\/pre>\n<p><strong>Usage:<\/strong><\/p>\n<p><span style=\"text-decoration: underline\"><em>EnumToString.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\npublic class EnumToString {\n\n    public static void main(String[] args) {\n\n        Status status = Status.ACTIVE;\n        \/\/ Singleton instance\n        StatusMapper mapper = StatusMapper.INSTANCE;\n\n        \/\/ Handle a valid enum value\n        String statusString = mapper.toString(status);\n        System.out.println(statusString);\n    }\n}\n<\/pre>\n<p>Here, <code>mapper.toString(Status status)<\/code> will return the string representation of the <code>status<\/code> enum value.<\/p>\n<p><strong>Output:<\/strong><\/p>\n<pre class=\"brush:plain\">\nACTIVE\n<\/pre>\n<h2 class=\"wp-block-heading\">2. Mapping a String to an Enum<\/h2>\n<p>MapStruct can also convert strings back to enums. It attempts to match the string value with the corresponding enum constant name (case-sensitive). In this example, we convert a String to its corresponding Enum value, often required for deserializing JSON or handling user inputs.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h3 class=\"wp-block-heading\">2.1 MapStruct Mapper<\/h3>\n<p><span style=\"text-decoration: underline\"><em>StatusMapper.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\n@Mapper\npublic interface StatusMapper {\n    StatusMapper INSTANCE = Mappers.getMapper(StatusMapper.class);\n\n    Status toEnum(String status);\n}\n\n<\/pre>\n<p><strong>Usage:<\/strong><\/p>\n<pre class=\"brush:java\">\npublic class StringToEnum {\n\n    public static void main(String[] args) {\n\n        String statusString = \"INACTIVE\";\n        Status status = StatusMapper.INSTANCE.toEnum(statusString);\n        System.out.println(status); \n    }\n}\n\n<\/pre>\n<p>In this example, <code>StatusMapper.toEnum(\"INACTIVE\")<\/code> will return the <code>Status.INACTIVE<\/code> enum value.<\/p>\n<p><strong>Note:<\/strong> If the string doesn&#8217;t match an existing enum constant, MapStruct throws an exception.<\/p>\n<h2 class=\"wp-block-heading\">3. Mapping an Enum to a Custom String<\/h2>\n<p>Sometimes, we might want to map an enum to a custom string representation that differs from the <code>toString()<\/code> method. MapStruct&#8217;s <code>@ValueMapping<\/code> annotation allows for such customization.<\/p>\n<h3 class=\"wp-block-heading\">3.1 MapStruct Mapper<\/h3>\n<p><span style=\"text-decoration: underline\"><em>StatusMapper.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\n@Mapper\npublic interface StatusMapper {\n\n    StatusMapper INSTANCE = Mappers.getMapper(StatusMapper.class);\n\n    @ValueMapping(source = \"PENDING\", target = \"Pending Approval\")\n    @ValueMapping(source = \"ACTIVE\", target = \"Active Status\")\n    @ValueMapping(source = \"INACTIVE\", target = \"Inactive Status\")\n    String toString(Status status);\n}\n<\/pre>\n<p>Here, <code>StatusMapper.toString(Status status)<\/code> will map each enum value to a custom string representation defined in the <code>@ValueMapping<\/code> annotations.<\/p>\n<p><strong>Usage:<\/strong><\/p>\n<p><span style=\"text-decoration: underline\"><em>EnumToCustomString.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\npublic class EnumToCustomString {\n\n    public static void main(String[] args) {\n        \n        Status status = Status.ACTIVE;\n        \/\/ Singleton instance\n        StatusMapper mapper = StatusMapper.INSTANCE;\n        \n        String statusString = mapper.toString(status);\n        \/\/String statusString = StatusMapper.INSTANCE.toString(status);\n        System.out.println(statusString); \n    }\n}\n\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<pre class=\"brush:plain\">\nActive Status\n<\/pre>\n<h2 class=\"wp-block-heading\">4. Mapping a Custom String to an Enum<\/h2>\n<p>Similar to mapping Enum to a custom String, we can convert from a custom String back to Enum.<\/p>\n<h3 class=\"wp-block-heading\">4.1 MapStruct Mapper with Reverse Mapping<\/h3>\n<p>MapStruct can leverage <code>@InheritInverseConfiguration<\/code> to define reverse mappings, ensuring that the mapping from custom strings to Enums is the inverse of the mapping from Enums to custom strings.<\/p>\n<p><span style=\"text-decoration: underline\"><em>StatusMapper.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\n@Mapper\npublic interface StatusMapper {\n\n    StatusMapper INSTANCE = Mappers.getMapper(StatusMapper.class);\n    \n    @InheritInverseConfiguration(name = \"toString\")\n    Status toStatus(String statusString);\n}\n<\/pre>\n<p><strong>Usage:<\/strong><\/p>\n<pre class=\"brush:java\">\npublic class EnumToCustomString {\n\n    public static void main(String[] args) {\n        \n        String customString = \"Pending Approval\";\n        Status status = StatusMapper.INSTANCE.toStatus(customString);\n        System.out.println(status); \/\/ Output: PENDING\n\n    }\n}\n<\/pre>\n<p>In this example, the <code>toStatus(customString)<\/code> method uses <code>@InheritInverseConfiguration<\/code> to reverse the logic defined in <code>toString(status)<\/code>.<\/p>\n<h2 class=\"wp-block-heading\">5. Conclusion<\/h2>\n<p>In this article, we demonstrated how to map an enum to a string using MapStruct, covering various scenarios:<\/p>\n<ul class=\"wp-block-list\">\n<li>Mapping an enum to a string<\/li>\n<li>Mapping a string to an enum<\/li>\n<li>Mapping an enum to a custom string<\/li>\n<li>Mapping a custom string to an enum<\/li>\n<\/ul>\n<p>By leveraging the default <code>toString()<\/code> method and <code>@ValueMapping<\/code> annotations, we can achieve various mapping scenarios tailored to our specific needs.<\/p>\n<h2 class=\"wp-block-heading\">6. Download the Source Code<\/h2>\n<p>This article covered the use of MapStruct for mapping an Enum to a String and vice versa.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>\nYou can download the full source code of this example here: <a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/enumtostring.zip\"><strong>Mapstruct Enum String<\/strong><\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MapStruct is a Java annotation processor that streamlines the implementation of mappings between Java beans, including complex scenarios such as converting Enums to Strings and vice versa. This article explores various enum to string mapping techniques using MapStruct. 1. Mapping an Enum to a String Let&#8217;s say we have an Enum and want to map &hellip;<\/p>\n","protected":false},"author":128888,"featured_media":124163,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[2770,2767,2768,1420,2769],"class_list":["post-123951","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-java","tag-custom-enum-mapping","tag-enum-mapping","tag-enum-to-string","tag-mapstruct","tag-string-to-enum"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mapping Enums and Strings with MapStruct - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mapping Enums and Strings with MapStruct - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:author\" content=\"https:\/\/web.facebook.com\/omos.aziegbe\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-20T14:38:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Omozegie Aziegbe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/OAziegbe\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Omozegie Aziegbe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html\"},\"author\":{\"name\":\"Omozegie Aziegbe\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7d3eac6e45542536e961129ae0fb453e\"},\"headline\":\"Mapping Enums and Strings with MapStruct\",\"datePublished\":\"2024-06-20T14:38:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html\"},\"wordCount\":415,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/mapstruct-logo.jpg\",\"keywords\":[\"Custom Enum Mapping\",\"Enum Mapping\",\"Enum to String\",\"MapStruct\",\"String to Enum\"],\"articleSection\":[\"Core Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html\",\"name\":\"Mapping Enums and Strings with MapStruct - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/mapstruct-logo.jpg\",\"datePublished\":\"2024-06-20T14:38:00+00:00\",\"description\":\"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/mapstruct-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/mapstruct-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/mapping-enums-and-strings-with-mapstruct.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/core-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Mapping Enums and Strings with MapStruct\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7d3eac6e45542536e961129ae0fb453e\",\"name\":\"Omozegie Aziegbe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/cropped-jcg_profile_pic-96x96.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/cropped-jcg_profile_pic-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/cropped-jcg_profile_pic-96x96.jpg\",\"caption\":\"Omozegie Aziegbe\"},\"description\":\"Omos Aziegbe is a technical writer and web\\\/application developer with a BSc in Computer Science and Software Engineering from the University of Bedfordshire. Specializing in Java enterprise applications with the Jakarta EE framework, Omos also works with HTML5, CSS, and JavaScript for web development. As a freelance web developer, Omos combines technical expertise with research and writing on topics such as software engineering, programming, web application development, computer science, and technology.\",\"sameAs\":[\"https:\\\/\\\/web.facebook.com\\\/omos.aziegbe\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/omosaziegbe\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/OAziegbe\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/omozegie-aziegbe\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mapping Enums and Strings with MapStruct - Java Code Geeks","description":"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html","og_locale":"en_US","og_type":"article","og_title":"Mapping Enums and Strings with MapStruct - Java Code Geeks","og_description":"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.","og_url":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_author":"https:\/\/web.facebook.com\/omos.aziegbe","article_published_time":"2024-06-20T14:38:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg","type":"image\/jpeg"}],"author":"Omozegie Aziegbe","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/OAziegbe","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Omozegie Aziegbe","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html"},"author":{"name":"Omozegie Aziegbe","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7d3eac6e45542536e961129ae0fb453e"},"headline":"Mapping Enums and Strings with MapStruct","datePublished":"2024-06-20T14:38:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html"},"wordCount":415,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg","keywords":["Custom Enum Mapping","Enum Mapping","Enum to String","MapStruct","String to Enum"],"articleSection":["Core Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html","url":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html","name":"Mapping Enums and Strings with MapStruct - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg","datePublished":"2024-06-20T14:38:00+00:00","description":"Learn how to efficiently map Enum to String and vice versa using MapStruct in Java with detailed examples.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2024\/06\/mapstruct-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/mapping-enums-and-strings-with-mapstruct.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/core-java"},{"@type":"ListItem","position":4,"name":"Mapping Enums and Strings with MapStruct"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7d3eac6e45542536e961129ae0fb453e","name":"Omozegie Aziegbe","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2023\/12\/cropped-jcg_profile_pic-96x96.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2023\/12\/cropped-jcg_profile_pic-96x96.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2023\/12\/cropped-jcg_profile_pic-96x96.jpg","caption":"Omozegie Aziegbe"},"description":"Omos Aziegbe is a technical writer and web\/application developer with a BSc in Computer Science and Software Engineering from the University of Bedfordshire. Specializing in Java enterprise applications with the Jakarta EE framework, Omos also works with HTML5, CSS, and JavaScript for web development. As a freelance web developer, Omos combines technical expertise with research and writing on topics such as software engineering, programming, web application development, computer science, and technology.","sameAs":["https:\/\/web.facebook.com\/omos.aziegbe","https:\/\/www.linkedin.com\/in\/omosaziegbe\/","https:\/\/x.com\/https:\/\/twitter.com\/OAziegbe"],"url":"https:\/\/www.javacodegeeks.com\/author\/omozegie-aziegbe"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/123951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/128888"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=123951"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/123951\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/124163"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=123951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=123951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=123951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}