<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>JinJu’s road</title>
        <link>https://paragraph.com/@myjinju</link>
        <description>Chinese coder 
</description>
        <lastBuildDate>Sat, 25 Apr 2026 09:33:19 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>JinJu’s road</title>
            <url>https://storage.googleapis.com/papyrus_images/9c8f567731945d9a301c5625343053f11e1aec76cd359e7c9a75273827cdcef2.png</url>
            <link>https://paragraph.com/@myjinju</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Convert]]></title>
            <link>https://paragraph.com/@myjinju/convert</link>
            <guid>a7ZZ2CG7FeYXP8a19FbI</guid>
            <pubDate>Wed, 19 Jan 2022 12:08:28 GMT</pubDate>
            <description><![CDATA[private static &#x3C;T> T convert(ResultSet set, Class&#x3C;T> clazz) { try { Constructor&#x3C;T> constructor = clazz.getConstructor (clazz.getConstructors()[0].getParameterTypes()); Class&#x3C;?>[] param = constructor.getParameterTypes(); Object[] objects = new Object[param.length]; for (int i = 0; i &#x3C; param.length; i++) { objects[i] = set.getObject(i + 1); if (objects[i].getClass() != param[i]) { throw new SQLException("错误类型转换"); } } return constructor.newInstance(objects); } catch (Re...]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text=" private static &lt;T&gt; T convert(ResultSet set, Class&lt;T&gt; clazz) {
        try {
            Constructor&lt;T&gt; constructor = clazz.getConstructor
                    (clazz.getConstructors()[0].getParameterTypes());
            Class&lt;?&gt;[] param = constructor.getParameterTypes();
            Object[] objects = new Object[param.length];
            for (int i = 0; i &lt; param.length; i++) {
                objects[i] = set.getObject(i + 1);
                if (objects[i].getClass() != param[i]) {
                    throw new SQLException(&quot;错误类型转换&quot;);
                }
            }
            return constructor.newInstance(objects);
        } catch (ReflectiveOperationException | SQLException e) {
            e.printStackTrace();
            return null;
        }
    }
"><code> <span class="hljs-keyword">private</span> static <span class="hljs-operator">&#x3C;</span>T<span class="hljs-operator">></span> T convert(ResultSet set, Class<span class="hljs-operator">&#x3C;</span>T<span class="hljs-operator">></span> clazz) {
        <span class="hljs-keyword">try</span> {
            Constructor<span class="hljs-operator">&#x3C;</span>T<span class="hljs-operator">></span> <span class="hljs-function"><span class="hljs-keyword">constructor</span> = <span class="hljs-title">clazz</span>.<span class="hljs-title">getConstructor</span>
                    (<span class="hljs-params">clazz.getConstructors(<span class="hljs-params"></span>)[<span class="hljs-number">0</span>].getParameterTypes(<span class="hljs-params"></span>)</span>)</span>;
            Class<span class="hljs-operator">&#x3C;</span>?<span class="hljs-operator">></span>[] param <span class="hljs-operator">=</span> <span class="hljs-keyword">constructor</span>.getParameterTypes();
            Object[] objects <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> Object[param.<span class="hljs-built_in">length</span>];
            <span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> i <span class="hljs-operator">=</span> <span class="hljs-number">0</span>; i <span class="hljs-operator">&#x3C;</span> param.<span class="hljs-built_in">length</span>; i<span class="hljs-operator">+</span><span class="hljs-operator">+</span>) {
                objects[i] <span class="hljs-operator">=</span> set.getObject(i <span class="hljs-operator">+</span> <span class="hljs-number">1</span>);
                <span class="hljs-keyword">if</span> (objects[i].getClass() <span class="hljs-operator">!</span><span class="hljs-operator">=</span> param[i]) {
                    <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> SQLException(<span class="hljs-string">"错误类型转换"</span>);
                }
            }
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">constructor</span>.newInstance(objects);
        } <span class="hljs-keyword">catch</span> (ReflectiveOperationException <span class="hljs-operator">|</span> SQLException e) {
            e.printStackTrace();
            <span class="hljs-keyword">return</span> null;
        }
    }
</code></pre>]]></content:encoded>
            <author>myjinju@newsletter.paragraph.com (JinJu’s road)</author>
        </item>
        <item>
            <title><![CDATA[MyTinySTL Day one]]></title>
            <link>https://paragraph.com/@myjinju/mytinystl-day-one</link>
            <guid>ZsXOoUEM5qi6Yj3tIwTp</guid>
            <pubDate>Tue, 18 Jan 2022 03:44:11 GMT</pubDate>
            <description><![CDATA[C++原生 cstddef、ctime、cstring、new、iostream、initializer_list、stdexcept、cassert、cstdlib、climits、type_traits第一层：exceptdef.h、functional.h、type_traits.h第二层：iterator.h、util.h第三层：algobase.h、construct.h、heap_algo.h、numeric.h、set_algo.h第四层：allocator.h、uninitialized.h第五层：memory.h第六层 : algo.h、basic_string.h、deque.h、lish.h、rb_tree.h、vector.h第七层：algorithm.h、astring.h、hashtable.h、map.h、queue.h、set.h、stack.h第八层：unordered_map.h、unordered_set.h]]></description>
            <content:encoded><![CDATA[<ul><li><p>C++原生 cstddef、ctime、cstring、new、iostream、initializer_list、stdexcept、cassert、cstdlib、climits、type_traits</p></li><li><p>第一层：exceptdef.h、functional.h、type_traits.h</p></li><li><p>第二层：iterator.h、util.h</p></li><li><p>第三层：algobase.h、construct.h、heap_algo.h、numeric.h、set_algo.h</p></li><li><p>第四层：allocator.h、uninitialized.h</p></li><li><p>第五层：memory.h</p></li><li><p>第六层 : algo.h、basic_string.h、deque.h、lish.h、rb_tree.h、vector.h</p></li><li><p>第七层：algorithm.h、astring.h、hashtable.h、map.h、queue.h、set.h、stack.h</p></li><li><p>第八层：unordered_map.h、unordered_set.h</p></li></ul>]]></content:encoded>
            <author>myjinju@newsletter.paragraph.com (JinJu’s road)</author>
        </item>
        <item>
            <title><![CDATA[Hello BlockChain]]></title>
            <link>https://paragraph.com/@myjinju/hello-blockchain</link>
            <guid>VZduOSSq3gMGmNL6i72h</guid>
            <pubDate>Sun, 16 Jan 2022 13:12:30 GMT</pubDate>
            <description><![CDATA[Just a test#include&#x3C;iostream> using namespace std; int main() { cout&#x3C;&#x3C;"hello blockchain"&#x3C;&#x3C;endl; return 0; }]]></description>
            <content:encoded><![CDATA[<h2 id="h-just-a-test" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Just a test</h2><pre data-type="codeBlock" text="#include&lt;iostream&gt;
using namespace std;
int main()
{
  cout&lt;&lt;&quot;hello blockchain&quot;&lt;&lt;endl;
  return 0;
}
"><code><span class="hljs-meta">#<span class="hljs-keyword">include</span><span class="hljs-string">&#x3C;iostream></span></span>
using namespace <span class="hljs-built_in">std</span>;
<span class="hljs-type">int</span> <span class="hljs-title function_">main</span><span class="hljs-params">()</span>
{
  <span class="hljs-built_in">cout</span>&#x3C;&#x3C;<span class="hljs-string">"hello blockchain"</span>&#x3C;&#x3C;<span class="hljs-built_in">endl</span>;
  <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
</code></pre>]]></content:encoded>
            <author>myjinju@newsletter.paragraph.com (JinJu’s road)</author>
        </item>
    </channel>
</rss>