Re: [問題] 使用JSQLParser,要將抓出來的where子句

看板java作者 (虛空雷神獸)時間2年前 (2022/02/18 19:20), 2年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
因為 java 對 closure 的規範就是你不能夠去變更 local variable 的 value 這種情境我一律推薦寫一個 class 去包裝 像這樣 class StringValue { private String value = ""; void set(String value) { this.value = value; } String get() { return value; } } 你只要把你的 left 改成這個物件就可以了 補充說明一下匿名內部類別不能修改 local variable 的原因 因為 local variable 是儲存在 stack 的 當你 call 匿名內部類別的 method 時就開了一個新的 stack 參考到的 value 會 copy 一份到新的 stack 這時候你重新 assign 也沒辦法改變原本變數的 value 類似這種狀況 int a = 10; int aPrime = a; aPrime = 5; System.out.println(a) // 10 所以 java 才會要求被匿名內部類別參考到的區域變數必須要是 final 的 -- ╔═ ═╦╦═════╦═════╗ ◤◤◤ ╠╣飛鳥ももこ╠═╗ ║ ║╚═════╝ ╚═╦═╣ ║╔══════╗╔═╩═╣ █◤ ╠╣Momoko Asuka╠╝ ║ ◣◢◣◢╩╩══════╩════╝ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.147.192 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1645183233.A.0FA.html ※ 編輯: gasbomb (111.249.122.248 臺灣), 02/19/2022 02:00:50
文章代碼(AID): #1Y3u413w (java)
文章代碼(AID): #1Y3u413w (java)