[英]Java Compiler String optimization
對我來說,編譯器會采用這樣的方式似乎是合理的:
log.info("A really long logger message that is kind of a pain in the tucous " +
"and violates formatting standards by making the line to long");
並將兩個字符串編譯成一個。 我很確定這是真的,但如果有人提出來的話,我想把我的鴨子連成兩排。
由常量表達式計算的字符串(第15.28節)在編譯時計算,然后將其視為文字。
將JLS的引用顯示給任何“挑戰”你的人。
要檢查JLS對常量表達式的說法是否正確,我遵守了此代碼Test.java
public static void main(String[] args) {
log.warning("123" + "456");
}
然后用Jad反編譯Test.class並得到它
public static void main(String args[])
{
log.warning("123456");
}
也就是說,在Test.class中只有一個文字“123456”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.