Cyber Monday 2024! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Oracle Exam 1Z0-829 Topic 6 Question 20 Discussion

Actual exam question for Oracle's 1Z0-829 exam
Question #: 20
Topic #: 6
[All 1Z0-829 Questions]

Given the code fragment:

Show Suggested Answer Hide Answer
Suggested Answer: D

The code fragment compares four pairs of strings using the equals() and intern() methods. The equals() method compares the content of two strings, while the intern() method returns a canonical representation of a string, which means that it returns a reference to an existing string with the same content in the string pool. The string pool is a memory area where strings are stored and reused to save space and improve performance. The results of the comparisons are as follows:

s1.equals(s2): This returns true because both s1 and s2 have the same content, ''Hello Java 17''.

s1 == s2: This returns false because s1 and s2 are different objects with different references, even though they have the same content. The == operator compares the references of two objects, not their content.

s1.intern() == s2.intern(): This returns true because both s1.intern() and s2.intern() return a reference to the same string object in the string pool, which has the content ''Hello Java 17''. The intern() method ensures that there is only one copy of each distinct string value in the string pool.

''Hello Java 17'' == s2: This returns false because ''Hello Java 17'' is a string literal, which is automatically interned and stored in the string pool, while s2 is a string object created with the new operator, which is not interned by default and stored in the heap. Therefore, they have different references and are not equal using the == operator.


Contribute your Thoughts:

Jerlene
5 months ago
The trick is in the order of the boolean expressions. If you don't pay close attention, it's easy to get tripped up.
upvoted 0 times
Devora
4 months ago
Yes, you're right. The order of the boolean expressions is important in this code fragment.
upvoted 0 times
...
Devora
4 months ago
I think the correct answer is C) True:false:true:false
upvoted 0 times
...
...
Oretha
5 months ago
I think the answer is B) True:true:false:false because the second element is false
upvoted 0 times
...
Ena
5 months ago
But the code fragment clearly shows the third element as true, so it can't be C)
upvoted 0 times
...
Shawnee
5 months ago
Haha, this question is a real head-scratcher. I'm going to have to give it a few more reads to figure it out.
upvoted 0 times
Malinda
4 months ago
I'm not sure, but I think it might be D) True:false:false:false
upvoted 0 times
...
Silvana
4 months ago
I believe it's C) True:false:true:false
upvoted 0 times
...
Donette
4 months ago
I'm leaning towards B) True:true:false:false
upvoted 0 times
...
Ilda
4 months ago
I think the answer is A) True:false:true:true
upvoted 0 times
...
...
Berry
5 months ago
The correct answer is C. True:false:true:false. The image shows the behavior of the four boolean expressions in the given code fragment.
upvoted 0 times
Jacquelyne
4 months ago
I agree, the image clearly shows the behavior of the boolean expressions in the code fragment.
upvoted 0 times
...
Rozella
5 months ago
I think the correct answer is C. True:false:true:false.
upvoted 0 times
...
...
Rory
6 months ago
I disagree, I believe the answer is C) True:false:true:false
upvoted 0 times
...
Ena
6 months ago
I think the answer is A) True:false:true:true
upvoted 0 times
...

Save Cancel
az-700  pass4success  az-104  200-301  200-201  cissp  350-401  350-201  350-501  350-601  350-801  350-901  az-720  az-305  pl-300  

Warning: Cannot modify header information - headers already sent by (output started at /pass.php:70) in /pass.php on line 77