2012-12-13 8 views
6

यह मेरे लिए उचित लगता है कि संकलक कुछ इस तरह लेने के लिए जा रहा है:जावा संकलक स्ट्रिंग अनुकूलन

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"); 

और एक में दो स्ट्रिंग्स संकलन। मुझे पूरा यकीन है कि यह सच है लेकिन मुझे चाहिए यदि कोई भी इसे बताने के लिए मेरे बतख को पंक्ति में रखे।

उत्तर

3

Jad साथ करता है, तो क्या JLS निरंतर भाव के बारे में कहते हैं सच है कि मैं इस कोड का पालन है की जाँच करने के लिए, Test.java

public static void main(String[] args) { 
    log.warning("123" + "456"); 
} 

तो विघटित Test.class और इस

public static void main(String args[]) 
{ 
    log.warning("123456"); 
} 

है कि मिल गया है, Test.class में केवल एक शाब्दिक "123456"

है
7

स्ट्रिंग्स निरंतर भाव (§15.28) द्वारा गणना संकलन समय पर गणना की जाती है और फिर इलाज किया रूप में यदि वे शाब्दिक थे।

JLS से उस उद्धरण को दिखाएं जो आपको चुनौती देता है।