java泛型 可变参数的使用
有勇气的牛排
912
Java
2021-08-26 21:57:34
1 使用
Arrays工具类中有静态方法
- public static <T> List<T> asList(T… a):返回由指定数组支持的固定大小的列表
List接口中有一个静态方法
- public static <E> List<E> of(E… elements):返回包含任意数量元素的不可变列表
Set接口中有一个静态方法
- public static <E> Set<E> of(E… elements):返回一个包含任意数量元素的不可变集合
2 代码
package itheima_06;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
public class ArgsDemo02 {
public static void main(String[] args) {
List<String> list = Arrays.asList("hello", "world", "java");
Set<String> set = Set.of("hello", "world", "java");
System.out.println(set);
}
}
<h2><a id="1__0"></a>1 使用</h2>
<p>Arrays工具类中有静态方法</p>
<ul>
<li>public static <T> List<T> asList(T… a):返回由指定数组支持的固定大小的列表</li>
</ul>
<p>List接口中有一个静态方法</p>
<ul>
<li>public static <E> List<E> of(E… elements):返回包含任意数量元素的不可变列表</li>
</ul>
<p>Set接口中有一个静态方法</p>
<ul>
<li>public static <E> Set<E> of(E… elements):返回一个包含任意数量元素的不可变集合</li>
</ul>
<h2><a id="2__15"></a>2 代码</h2>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> itheima_06;
<span class="hljs-keyword">import</span> java.util.Arrays;
<span class="hljs-keyword">import</span> java.util.List;
<span class="hljs-keyword">import</span> java.util.Set;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">ArgsDemo02</span> {
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">main</span><span class="hljs-params">(String[] args)</span> {
List<String> list = Arrays.asList(<span class="hljs-string">"hello"</span>, <span class="hljs-string">"world"</span>, <span class="hljs-string">"java"</span>);
<span class="hljs-comment">// 1 public static <T> List<T> asList(T... a):返回由指定数组支持的固定大小的列表</span>
<span class="hljs-comment">// // list.add("cc"); // 不支持的请求操作 java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">// // list.remove("world"); // java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">//</span>
<span class="hljs-comment">// list.set(1,"mm"); // 修改1位置为 mm 修改方法不改变集合大小,所以可以</span>
<span class="hljs-comment">//</span>
<span class="hljs-comment">// System.out.println(list);</span>
<span class="hljs-comment">// jdk9特性</span>
<span class="hljs-comment">// // 2 public static <E> List<E> of(E... elements):返回包含任意数量元素的不可变列表</span>
<span class="hljs-comment">// List<String> list = List.of("hello","world","java","world");</span>
<span class="hljs-comment">// // list.add("cc"); // 不支持的请求操作 java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">// // list.remove("world"); // java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">// // list.set(1,"mm"); // java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">//</span>
<span class="hljs-comment">// System.out.println(list);</span>
<span class="hljs-comment">// jdk9特性</span>
<span class="hljs-comment">// public static <E> Set<E> of(E... elements):返回一个包含任意数量元素的不可变集合</span>
Set<String> set = Set.of(<span class="hljs-string">"hello"</span>, <span class="hljs-string">"world"</span>, <span class="hljs-string">"java"</span>);
<span class="hljs-comment">// set.add("cc"); // 不支持的请求操作 java.lang.UnsupportedOperationException</span>
<span class="hljs-comment">// set.remove("world"); // java.lang.UnsupportedOperationException</span>
System.out.println(set);
}
}
</code></div></pre>
留言