docs: update docs/java.md. (#601) 1b9437656d

This commit is contained in:
jaywcjlove
2024-04-09 03:45:48 +00:00
parent 0c775a1cb3
commit 0a2fde8f88
4 changed files with 44 additions and 13 deletions

View File

@ -158,7 +158,7 @@
</span><span class="code-line"><span class="token comment">// byte&#x3C;short&#x3C;int&#x3C;long&#x3C;float&#x3C;double</span>
</span><span class="code-line"><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">10</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">long</span> l <span class="token operator">=</span> i<span class="token punctuation">;</span> <span class="token comment">// 10</span>
</span><span class="code-line"><span class="token comment">// Narrowing </span>
</span><span class="code-line"><span class="token comment">// Narrowing</span>
</span><span class="code-line"><span class="token keyword">double</span> d <span class="token operator">=</span> <span class="token number">10.02</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">long</span> l <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token keyword">long</span><span class="token punctuation">)</span>d<span class="token punctuation">;</span> <span class="token comment">// 10</span>
</span><span class="code-line"><span class="token class-name">String</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// "10"</span>
@ -185,7 +185,7 @@
</span></code></pre>
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="java-字符串"><a aria-hidden="true" tabindex="-1" href="#java-字符串"><span class="icon icon-link"></span></a>Java 字符串</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="基本的"><a aria-hidden="true" tabindex="-1" href="#基本的"><span class="icon icon-link"></span></a>基本的</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> str1 <span class="token operator">=</span> <span class="token string">"value"</span><span class="token punctuation">;</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> str1 <span class="token operator">=</span> <span class="token string">"value"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> str2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">"value"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> str3 <span class="token operator">=</span> <span class="token class-name">String</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token number">123</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
@ -244,8 +244,8 @@
</span><span class="code-line"><span class="token number">0</span> <span class="token number">1</span> <span class="token number">2</span> <span class="token number">3</span> <span class="token number">4</span> <span class="token number">5</span> <span class="token number">6</span> <span class="token number">7</span> <span class="token number">8</span> <span class="token number">9</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="比较"><a aria-hidden="true" tabindex="-1" href="#比较"><span class="icon icon-link"></span></a>比较</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> s1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">"QuickRef"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> s2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">"QuickRef"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token class-name">String</span> s1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">"QuickRef"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">String</span> s2 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">(</span><span class="token string">"QuickRef"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">s1 <span class="token operator">==</span> s2 <span class="token comment">// false</span>
</span><span class="code-line">s1<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span>s2<span class="token punctuation">)</span> <span class="token comment">// true</span>
</span><span class="code-line"><span class="token string">"AB"</span><span class="token punctuation">.</span><span class="token function">equalsIgnoreCase</span><span class="token punctuation">(</span><span class="token string">"ab"</span><span class="token punctuation">)</span> <span class="token comment">// true</span>
@ -316,7 +316,7 @@
</span><span class="code-line"><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> a<span class="token operator">:</span> arr<span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">print</span><span class="token punctuation">(</span>a <span class="token operator">+</span> <span class="token string">" "</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line"><span class="token comment">// 输出: a b c </span>
</span><span class="code-line"><span class="token comment">// 输出: a b c</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="二维数组-multidimensional-arrays"><a aria-hidden="true" tabindex="-1" href="#二维数组-multidimensional-arrays"><span class="icon icon-link"></span></a>二维数组 Multidimensional Arrays</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token keyword">int</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">]</span> matrix <span class="token operator">=</span> <span class="token punctuation">{</span> <span class="token punctuation">{</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
@ -328,7 +328,7 @@
</span><span class="code-line"> <span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>a<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line"><span class="token comment">// 输出: 1 2 3 4 5 6 7 </span>
</span><span class="code-line"><span class="token comment">// 输出: 1 2 3 4 5 6 7</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="排序-sort"><a aria-hidden="true" tabindex="-1" href="#排序-sort"><span class="icon icon-link"></span></a>排序 Sort</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token keyword">char</span><span class="token punctuation">[</span><span class="token punctuation">]</span> chars <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token char">'b'</span><span class="token punctuation">,</span> <span class="token char">'a'</span><span class="token punctuation">,</span> <span class="token char">'c'</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
@ -557,7 +557,7 @@
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="线程等待与唤醒"><a aria-hidden="true" tabindex="-1" href="#线程等待与唤醒"><span class="icon icon-link"></span></a>线程等待与唤醒</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token comment">// 需要synchronized修饰的代码块才能使用</span>
</span><span class="code-line"><span class="token function">wait</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token function">wait</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token function">notify</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token function">notifyAll</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
@ -601,7 +601,7 @@
</span><span class="code-line"><span class="token keyword">try</span> <span class="token punctuation">{</span>
</span><span class="code-line"> semaphore<span class="token punctuation">.</span><span class="token function">acquire</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span> <span class="token keyword">finally</span> <span class="token punctuation">{</span>
</span><span class="code-line"> semaphore<span class="token punctuation">.</span><span class="token function">release</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> semaphore<span class="token punctuation">.</span><span class="token function">release</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="java-框架搜集"><a aria-hidden="true" tabindex="-1" href="#java-框架搜集"><span class="icon icon-link"></span></a>Java 框架搜集</h2><div class="wrap-body">
@ -867,7 +867,7 @@
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// 如果不存在,就添加,存在就不变更</span>
</span><span class="code-line">m<span class="token punctuation">.</span><span class="token function">putIfAbsent</span><span class="token punctuation">(</span><span class="token number">103</span><span class="token punctuation">,</span> <span class="token string">"Hello"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// 替换</span>
</span><span class="code-line">m<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token number">101</span><span class="token punctuation">,</span> <span class="token string">"Hello"</span><span class="token punctuation">,</span> <span class="token string">"For"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span>m<span class="token punctuation">)</span><span class="token punctuation">;</span>
@ -962,7 +962,7 @@
<p>查看: <a href="./regex.html#java-%E4%B8%AD%E7%9A%84%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F">Regex in java</a></p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="注释-comment"><a aria-hidden="true" tabindex="-1" href="#注释-comment"><span class="icon icon-link"></span></a>注释 Comment</h3><div class="wrap-body">
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token comment">// 我是单行注释!</span>
</span><span class="code-line">
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">/*
</span></span><span class="code-line"><span class="token comment">而我是一个
</span></span><span class="code-line"><span class="token comment">多行注释!
@ -1174,6 +1174,37 @@
</span><span class="code-line"><span class="token comment">// 2: 3</span>
</span><span class="code-line"><span class="token comment">// 3: 1</span>
</span></code></pre>
<p><code>Stream</code><code>JAVA 8</code>添加的新特性,类似于一种管道。</p>
<pre class="language-java"><code class="language-java code-highlight"><span class="code-line"><span class="token comment">// Create the stream</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> test <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token string">"123"</span><span class="token punctuation">,</span> <span class="token string">"456"</span><span class="token punctuation">,</span> <span class="token string">"789"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name">Stream</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> stram <span class="token operator">=</span> test<span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// some intermediate operations</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// fillter</span>
</span><span class="code-line"><span class="token comment">// The original operation</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">TestDO</span><span class="token punctuation">></span></span> resultList <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">for</span><span class="token punctuation">(</span><span class="token class-name">TestDO</span> test<span class="token operator">:</span> testList<span class="token punctuation">)</span><span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token keyword">if</span><span class="token punctuation">(</span>test<span class="token punctuation">.</span><span class="token function">getTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span><span class="token class-name">Boolean</span><span class="token punctuation">.</span><span class="token constant">TRUE</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
</span><span class="code-line"> resultList<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>test<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line"><span class="token comment">// The stream operation</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">TestDO</span><span class="token punctuation">></span></span> resultList <span class="token operator">=</span> testList<span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">fillter</span><span class="token punctuation">(</span>test <span class="token operator">-></span> test<span class="token punctuation">.</span><span class="token function">getTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span><span class="token class-name">Boolean</span><span class="token punctuation">.</span><span class="token constant">TRUE</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">collect</span><span class="token punctuation">(</span><span class="token class-name">Collectors</span><span class="token punctuation">.</span><span class="token function">toList</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">//distinct</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> test <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token string">"123"</span><span class="token punctuation">,</span> <span class="token string">"456"</span><span class="token punctuation">,</span> <span class="token string">"789"</span><span class="token punctuation">,</span> <span class="token string">"123"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">test<span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">distinct</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token operator">::</span><span class="token function">println</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">//map</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">String</span><span class="token punctuation">></span></span> test <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token string">"123"</span><span class="token punctuation">,</span> <span class="token string">"456"</span><span class="token punctuation">,</span> <span class="token string">"789"</span><span class="token punctuation">,</span> <span class="token string">"123"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">test<span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>i <span class="token operator">-></span> i <span class="token operator">+</span> <span class="token string">"hh"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token operator">::</span><span class="token function">println</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// sorted</span>
</span><span class="code-line"><span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&#x3C;</span><span class="token class-name">Integer</span><span class="token punctuation">></span></span> numbers <span class="token operator">=</span> <span class="token class-name">Arrays</span><span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">numbers<span class="token punctuation">.</span><span class="token function">stream</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">sorted</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span><span class="token class-name">System</span><span class="token punctuation">.</span>out<span class="token operator">::</span><span class="token function">println</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line">
</span></code></pre>
</div></div></div></div></div><div class="wrap h2body-not-exist"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
<ul>
<li><a href="https://www.oracle.com/cn/java/">Java 官网</a> <em>(oracle.com/cn/java)</em></li>