<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java transient 關鍵字 ## transient 關鍵字 transient 功能: 當對象被序列化時(寫入字節序列到目標文件)時,transient阻止實例中那些用此關鍵字聲明的變量持久化;當對象被反序列化時(從源文件讀取字節序列進行重構),這樣的實例變量值不會被持久化和恢復。 ~~~ public class UserTest implements Serializable { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "UserTest{" + "name='" + name + '\'' + ", password='" + password + '\'' + '}'; } } ~~~ ~~~ public static void main(String[] args) throws IOException, ClassNotFoundException { UserTest userTest = new UserTest(); userTest.setName("xiaoming"); userTest.setPassword("123456"); System.out.println(userTest.toString()); String relativelyPath=System.getProperty("user.dir"); ObjectOutputStream os = new ObjectOutputStream( new FileOutputStream(relativelyPath + "/src/main/resources/user.txt")); //寫入文件 os.writeObject(userTest); os.flush(); os.close(); //讀入文件 ObjectInputStream is = new ObjectInputStream(new FileInputStream( relativelyPath + "/src/main/resources/user.txt")); //讀入文件 userTest = (UserTest) is.readObject(); System.out.println(userTest.toString()); is.close(); } ~~~ ~~~ //輸出 UserTest{name='xiaoming', password='123456'} UserTest{name='xiaoming', password='123456'} ~~~ 上述是正常的序列化寫入文件,然后讀取文件的邏輯。 在使用 transient 后: ~~~javascript public class UserTest implements Serializable { private String name; //注意這里的 transient transient private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "UserTest{" + "name='" + name + '\'' + ", password='" + password + '\'' + '}'; } } ~~~ 然后再運行程序,輸出結果如下: ~~~ UserTest{name='xiaoming', password='123456'} UserTest{name='xiaoming', password='null'} ~~~ 可以看到 password 在被 transient 修飾后,沒有序列化和反序列化 * * * ## 總結 * 變量在被 transient 修飾后,變量將不再是對象持久化時的一部分,即變量內容不再被序列化 * transient 只能修飾變量 * 靜態變量不管是否被 transient 修飾,均不能被序列化
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看