{"id":2736,"date":"2025-12-24T10:00:04","date_gmt":"2025-12-24T15:00:04","guid":{"rendered":"https:\/\/www.mymiller.name\/wordpress\/?p=2736"},"modified":"2025-12-24T10:00:04","modified_gmt":"2025-12-24T15:00:04","slug":"listutils-safe","status":"publish","type":"post","link":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-safe\/","title":{"rendered":"ListUtils.safe()"},"content":{"rendered":"\n<p>Sometimes you need to guarantee a list is safe to use.  A simple method can make sure your safe to use the list, or have an empty list that would be safe for use. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**\n     *  Guarantees a list will be safe to use, even if null.\n     * @param list List to check if null\n     * @param &lt;E> List Type\n     * @return List, or an empty list of E.\n     *\/\n    public static &lt;E> List&lt;E> safe(List&lt;E> list) {\n        if(list != null) {\n            return list;\n        }\n        \n        return Collections.emptyList();\n    }<\/code><\/pre>\n\n\n\n<p>A simple method to use to make sure your variables are safe.  To see all of <a href=\"https:\/\/gist.github.com\/Ghost-Programmer\/8caa01aa7db3639caaa94564cdb8bfe5\">ListUtils<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes you need to guarantee a list is safe to use. A simple method can make sure your safe to use the list, or have an empty list that would be safe for use. A simple method to use to make sure your variables are safe. To see all of ListUtils.<\/p>\n","protected":false},"author":1,"featured_media":2743,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[455],"tags":[69],"series":[287],"class_list":["post-2736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lists","tag-java-2","series-listutils"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/rappelling-755399_640.jpg?fit=640%2C480&ssl=1","jetpack-related-posts":[{"id":2711,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-size\/","url_meta":{"origin":2736,"position":0},"title":"ListUtils.size()","author":"Jeffery Miller","date":"December 23, 2025","format":false,"excerpt":"Simple yet handy method for your ListUtils class. Handle if null, and return the number of elements in the list. Effective and simple.","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"List size","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2739,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-page\/","url_meta":{"origin":2736,"position":1},"title":"ListUtils Page","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Ever have a list, that you need to paginate through? I certainly have, I created a simple method to ListUtils to make it easier. \/** * Performs pagination on the List, returning the indicated page of elements, or an empty ist. * @param list List to paginate * @param pageSize\u2026","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"Pick a page","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2717,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-isempty-notempty\/","url_meta":{"origin":2736,"position":2},"title":"ListUtils isEmpty() &#038; notEmpty()","author":"Jeffery Miller","date":"December 23, 2025","format":false,"excerpt":"Standard isEmpty() and notEmpty() methods for a ListUtils class. Nothing fancy, just simple methods and functionality. See the entire ListUtils series.","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"empty container?","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/soda-4017612_640.jpg?fit=640%2C429&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/soda-4017612_640.jpg?fit=640%2C429&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/soda-4017612_640.jpg?fit=640%2C429&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3179,"url":"https:\/\/www.mymiller.name\/wordpress\/java_extra\/understanding-json-data-processing-with-java-exploring-the-jsonfieldprocessor-class\/","url_meta":{"origin":2736,"position":3},"title":"Understanding JSON Data Processing with Java: Exploring the JsonFieldProcessor Class","author":"Jeffery Miller","date":"January 15, 2026","format":false,"excerpt":"In today's digital era, data comes in various formats, with JSON (JavaScript Object Notation) being one of the most popular for representing structured data. Manipulating and processing JSON data efficiently is crucial for many software applications, from web development to data analysis. In this article, we'll delve into the workings\u2026","rel":"","context":"In &quot;Java Extras&quot;","block_context":{"text":"Java Extras","link":"https:\/\/www.mymiller.name\/wordpress\/category\/java_extra\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2024\/04\/data-7798787_640.png?fit=640%2C640&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2024\/04\/data-7798787_640.png?fit=640%2C640&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2024\/04\/data-7798787_640.png?fit=640%2C640&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2866,"url":"https:\/\/www.mymiller.name\/wordpress\/java_extra\/complex-queries-for-java-data\/","url_meta":{"origin":2736,"position":4},"title":"Complex Queries for Java data","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Recently a project I was working on called for a complex filter that was needed for selecting specific elements from a large data set. Looking at various methods of doing this, none provided a simple method to do so. First I wrote out my own Predicate<T> that was ugly with\u2026","rel":"","context":"In &quot;Java Extras&quot;","block_context":{"text":"Java Extras","link":"https:\/\/www.mymiller.name\/wordpress\/category\/java_extra\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2473,"url":"https:\/\/www.mymiller.name\/wordpress\/pipelines\/java-pipelines\/","url_meta":{"origin":2736,"position":5},"title":"Java Pipelines","author":"Jeffery Miller","date":"December 23, 2025","format":false,"excerpt":"Java streams introduced a new way to program for developers. Have a dataset and build a stream to filter, it maps it, and then collect it in the new form. This gave developers a powerful tool to use in development and data processing. I can't even begin to say how\u2026","rel":"","context":"In &quot;Pipelines&quot;","block_context":{"text":"Pipelines","link":"https:\/\/www.mymiller.name\/wordpress\/category\/pipelines\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/03\/machine-495376_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/03\/machine-495376_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/03\/machine-495376_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/comments?post=2736"}],"version-history":[{"count":3,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2736\/revisions"}],"predecessor-version":[{"id":2744,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2736\/revisions\/2744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/media\/2743"}],"wp:attachment":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/media?parent=2736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/categories?post=2736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/tags?post=2736"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/series?post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}