{"id":159,"date":"2023-12-18T21:51:41","date_gmt":"2023-12-18T20:51:41","guid":{"rendered":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=159"},"modified":"2024-01-09T21:55:13","modified_gmt":"2024-01-09T20:55:13","slug":"arrays-aslist-vs-list-of-in-java","status":"publish","type":"post","link":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=159","title":{"rendered":"Arrays.asList() vs. List.of() in Java"},"content":{"rendered":"\n<p>In der Welt der Java-Programmierung gibt es oft mehrere M\u00f6glichkeiten, um dasselbe Ziel zu erreichen. Dies gilt auch f\u00fcr die Erstellung von Listen mit konstanten Werten. In diesem Artikel werden wir zwei g\u00e4ngige Ans\u00e4tze vergleichen: <code>Arrays.asList()<\/code> und <code>List.of()<\/code>. Beide Methoden haben ihre Vor- und Nachteile, die wir genauer untersuchen werden. Wir werden auch Codebeispiele verwenden, um die Verwendung beider Ans\u00e4tze zu demonstrieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Arrays.asList()<\/h2>\n\n\n\n<p>Die <code>Arrays.asList()<\/code> Methode ist in Java schon seit langem verf\u00fcgbar und bietet eine einfache M\u00f6glichkeit, eine Liste mit konstanten Werten zu erstellen. Hier ist ein Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> java.util.Arrays;\n<span class=\"hljs-keyword\">import<\/span> java.util.List;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">ArraysAsListExample<\/span> <\/span>{\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        List&lt;<span class=\"hljs-built_in\">String<\/span>&gt; fruits = Arrays.asList(<span class=\"hljs-string\">\"Apfel\"<\/span>, <span class=\"hljs-string\">\"Banane\"<\/span>, <span class=\"hljs-string\">\"Orange\"<\/span>);\n        System.out.println(fruits);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Vorteile von Arrays.asList()<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Einfach zu verwenden<\/strong>: Die Verwendung von <code>Arrays.asList()<\/code> ist sehr einfach und erfordert nur wenige Zeilen Code. Sie k\u00f6nnen die Methode verwenden, um eine Liste von Werten in einem einzigen Schritt zu erstellen.<\/li>\n\n\n\n<li><strong>Ver\u00e4nderbarkeit<\/strong>: Die zur\u00fcckgegebene Liste ist ver\u00e4nderbar, was bedeutet, dass Sie Elemente hinzuf\u00fcgen, entfernen oder \u00e4ndern k\u00f6nnen, nachdem Sie die Liste erstellt haben.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Nachteile von Arrays.asList()<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Fixe Gr\u00f6\u00dfe<\/strong>: Die von <code>Arrays.asList()<\/code> zur\u00fcckgegebene Liste hat eine feste Gr\u00f6\u00dfe. Dies bedeutet, dass Sie keine Elemente hinzuf\u00fcgen oder entfernen k\u00f6nnen, ohne eine <code>UnsupportedOperationException<\/code> auszul\u00f6sen.<\/li>\n\n\n\n<li><strong>Arrays-Typen<\/strong>: Wenn Sie primitive Datentypen verwenden m\u00f6chten (z.B. int, char), m\u00fcssen Sie Wrapper-Klassen verwenden (z.B. Integer, Character), da <code>Arrays.asList()<\/code> nur mit Referenztypen funktioniert.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">List.of()<\/h2>\n\n\n\n<p>Die <code>List.of()<\/code> Methode wurde in Java 9 eingef\u00fchrt und bietet eine weitere M\u00f6glichkeit, Listen mit konstanten Werten zu erstellen. Hier ist ein Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import java.util.<span class=\"hljs-keyword\">List<\/span>;\n\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">ListOfExample<\/span> <\/span>{\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> void main(String&#91;] args) {\n        <span class=\"hljs-keyword\">List<\/span>&lt;String&gt; fruits = <span class=\"hljs-keyword\">List<\/span>.of(<span class=\"hljs-string\">\"Apfel\"<\/span>, <span class=\"hljs-string\">\"Banane\"<\/span>, <span class=\"hljs-string\">\"Orange\"<\/span>);\n        System.out.println(fruits);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Vorteile von List.of()<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Unver\u00e4nderbarkeit<\/strong>: Die mit <code>List.of()<\/code> erstellte Liste ist unver\u00e4nderbar, was bedeutet, dass sie nach der Erstellung nicht mehr ge\u00e4ndert werden kann. Dies kann in vielen F\u00e4llen n\u00fctzlich sein, um sicherzustellen, dass die Liste nicht aus Versehen ge\u00e4ndert wird.<\/li>\n\n\n\n<li><strong>Typsicherheit<\/strong>: <code>List.of()<\/code> ist typsicher und erzwingt, dass alle Elemente des gleichen Datentyps sind. Dies verhindert Laufzeitfehler aufgrund von Datentypen.<\/li>\n\n\n\n<li><strong>Kompaktheit<\/strong>: Der Code zur Erstellung einer Liste mit <code>List.of()<\/code> ist sehr kompakt und \u00fcbersichtlich.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Nachteile von List.of()<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Unver\u00e4nderbarkeit<\/strong>: Obwohl die Unver\u00e4nderbarkeit ein Vorteil sein kann, kann sie auch ein Nachteil sein, wenn Sie tats\u00e4chlich \u00c4nderungen an der Liste vornehmen m\u00fcssen. In diesem Fall m\u00fcssen Sie eine neue Liste erstellen.<\/li>\n\n\n\n<li><strong>Fehlende Unterst\u00fctzung f\u00fcr Nullwerte<\/strong>: <code>List.of()<\/code> erlaubt keine Nullwerte in der Liste. Wenn Sie Nullwerte ben\u00f6tigen, m\u00fcssen Sie auf andere Methoden zur\u00fcckgreifen.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Die Wahl zwischen <code>Arrays.asList()<\/code> und <code>List.of()<\/code> h\u00e4ngt von den Anforderungen Ihres Projekts ab. Wenn Sie eine ver\u00e4nderbare Liste ben\u00f6tigen und mit Referenztypen arbeiten, ist <code>Arrays.asList()<\/code> eine gute Wahl. Es ist einfach zu verwenden und erf\u00fcllt diese Anforderungen. Wenn Sie jedoch eine unver\u00e4nderbare Liste w\u00fcnschen, die sicherstellt, dass alle Elemente denselben Datentyp haben, ist <code>List.of()<\/code> die bessere Wahl. Beachten Sie jedoch, dass Sie in diesem Fall keine \u00c4nderungen an der Liste vornehmen k\u00f6nnen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Welt der Java-Programmierung gibt es oft mehrere M\u00f6glichkeiten, um dasselbe Ziel zu erreichen. Dies gilt auch f\u00fcr die Erstellung von Listen mit konstanten Werten. In diesem Artikel werden wir zwei g\u00e4ngige Ans\u00e4tze vergleichen: Arrays.asList() und List.of(). Beide Methoden haben ihre Vor- und Nachteile, die wir genauer untersuchen werden. Wir werden auch Codebeispiele verwenden, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-159","post","type-post","status-publish","format-standard","hentry","category-plain_java"],"_links":{"self":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=159"}],"version-history":[{"count":1,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/159\/revisions"}],"predecessor-version":[{"id":160,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/159\/revisions\/160"}],"wp:attachment":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}