<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>泛型 - 标签 - 菠菜眾長</title><link>https://lruihao.cn/tags/%E6%B3%9B%E5%9E%8B/</link><description>泛型 - 标签 - 菠菜眾長</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>1024@lruihao.cn (Lruihao)</managingEditor><webMaster>1024@lruihao.cn (Lruihao)</webMaster><lastBuildDate>Sat, 16 Mar 2019 13:56:01 +0000</lastBuildDate><atom:link href="https://lruihao.cn/tags/%E6%B3%9B%E5%9E%8B/" rel="self" type="application/rss+xml"/><item><title>java 泛型 test</title><link>https://lruihao.cn/posts/fanxing/</link><pubDate>Sat, 16 Mar 2019 13:56:01 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/fanxing/</guid><description><![CDATA[<blockquote>
<ul>
<li>泛型方法，它在修饰符后，返回值类型前增加了类型参数 (&lt;&gt;)</li>
<li>类型通配符一般使用问号<code>?</code>代替具体的类型<code>实</code>参，注意不是类型形参。</li>
</ul>
</blockquote>
<h2 id="代码">代码</h2>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="kn">package</span> <span class="nn">code0507</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WildCardTest</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">	<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">		<span class="n">Box</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="n">name</span><span class="o">=</span><span class="k">new</span> <span class="n">Box</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;(</span><span class="s">&#34;hello&#34;</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">Box</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span><span class="n">age</span><span class="o">=</span><span class="k">new</span> <span class="n">Box</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;(</span><span class="mi">12</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">Box</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span><span class="n">number</span><span class="o">=</span><span class="k">new</span> <span class="n">Box</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;(</span><span class="mf">210.50</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">Box</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span><span class="n">point</span><span class="o">=</span><span class="k">new</span> <span class="n">Box</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;();</span>
</span></span><span class="line"><span class="cl">		<span class="n">getData</span><span class="o">(</span><span class="n">name</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">getData</span><span class="o">(</span><span class="n">age</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">getData</span><span class="o">(</span><span class="n">number</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">point</span><span class="o">.</span><span class="na">printpoint</span><span class="o">(</span><span class="mi">520</span><span class="o">,</span> <span class="mi">1314</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">		<span class="n">point</span><span class="o">.</span><span class="na">printpoint</span><span class="o">(</span><span class="s">&#34;me&#34;</span><span class="o">,</span> <span class="s">&#34;too&#34;</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">	<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">getData</span><span class="o">(</span><span class="n">Box</span><span class="o">&lt;?&gt;</span><span class="n">data</span><span class="o">){</span><span class="c1">//类型通配符
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>		<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&#34;data:&#34;</span><span class="o">+</span><span class="n">data</span><span class="o">.</span><span class="na">getData</span><span class="o">());</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl"><span class="kd">class</span> <span class="nc">Box</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;{</span>
</span></span><span class="line"><span class="cl">	<span class="kd">private</span> <span class="n">T</span> <span class="n">data</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">	<span class="kd">public</span> <span class="nf">Box</span><span class="o">()</span> <span class="o">{}</span><span class="c1">//构造方法重载
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>	<span class="kd">public</span> <span class="nf">Box</span><span class="o">(</span><span class="n">T</span> <span class="n">data</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">		<span class="n">setData</span><span class="o">(</span><span class="n">data</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl">	<span class="kd">public</span> <span class="n">T</span> <span class="nf">getData</span><span class="o">()</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">		<span class="k">return</span> <span class="n">data</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl">	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setData</span><span class="o">(</span><span class="n">T</span> <span class="n">data</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">		<span class="k">this</span><span class="o">.</span><span class="na">data</span> <span class="o">=</span> <span class="n">data</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl">	<span class="c1">//定义泛型方法
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>	<span class="kd">public</span><span class="o">&lt;</span><span class="n">T1</span><span class="o">,</span><span class="n">T2</span><span class="o">&gt;</span><span class="kt">void</span> <span class="nf">printpoint</span><span class="o">(</span><span class="n">T1</span> <span class="n">x</span><span class="o">,</span><span class="n">T2</span> <span class="n">y</span><span class="o">){</span>
</span></span><span class="line"><span class="cl">		<span class="n">T1</span> <span class="n">m</span><span class="o">=</span><span class="n">x</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">		<span class="n">T2</span> <span class="n">n</span><span class="o">=</span><span class="n">y</span><span class="o">;</span>
</span></span><span class="line"><span class="cl">		<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&#34;This point is:&#34;</span><span class="o">+</span><span class="n">m</span><span class="o">+</span><span class="s">&#34;,&#34;</span><span class="o">+</span><span class="n">n</span><span class="o">);</span>
</span></span><span class="line"><span class="cl">	<span class="o">}</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span></span></span></code></pre></td></tr></table>
</div>
</div><h2 id="运行结果">运行结果</h2>
<div class="highlight" id="id-2"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="nl">data:</span><span class="n">hello</span>
</span></span><span class="line"><span class="cl"><span class="nl">data:</span><span class="mi">12</span>
</span></span><span class="line"><span class="cl"><span class="nl">data:</span><span class="mf">210.5</span>
</span></span><span class="line"><span class="cl"><span class="n">This</span> <span class="n">point</span> <span class="n">is</span><span class="o">:</span><span class="mi">520</span><span class="o">,</span><span class="mi">1314</span>
</span></span><span class="line"><span class="cl"><span class="n">This</span> <span class="n">point</span> <span class="n">is</span><span class="o">:</span><span class="n">me</span><span class="o">,</span><span class="n">too</span></span></span></code></pre></td></tr></table>
</div>
</div>]]></description></item></channel></rss>