亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

百思不得其解,有人知道是怎么回事么?

百思不得其解,有人知道是怎么回事么?

慕工程0101907 2023-04-09 17:13:25
本人想修改java.lang.String類,然后導出成jar,代替原來虛擬機的String類使用,但是在添加一個布爾數組后,導出成jar并使用時出現下面的錯誤: Error occurred during initialization of VM java.lang.ExceptionInInitializerError Caused by: java.lang.IllegalArgumentException: name can't be empty at java.security.BasicPermission.init(Unknown Source) at java.security.BasicPermission.<init>(Unknown Source) at java.lang.RuntimePermission.<init>(Unknown Source) at java.lang.Thread.<clinit>(Unknown Source) 添加的數組形式如下: private boolean barray[]; 如果改成private boolean barray; 則可正確運行。 如果改成跟String源碼中的value一樣:private final char value[]; 也不行。 
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

很簡單:HotSpot VM對java.lang.String的字段排布是有硬性要求的;如果你要對String的字段個數、類型、名字等做修改,要在HotSpot VM上正常運行就必須連VM也相應的修改。

查看完整回答
反對 回復 2023-04-12
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

String類是final類型,不可繼承,不知道是什么樣復雜的需求讓你需要修改String類?如果想修改String類,還是自己去寫一個類似實現String功能的類,再在項目中使用即可,不過這樣的工作量有點大哦。

查看完整回答
反對 回復 2023-04-12
  • 2 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號