Java SE 8 Programmer II — Question 36
Given:
class CheckClass {
public static int checkValue (String s1, String s2) {
return s1 length() s2.length();
}
}
and the code fragment:
String[] strArray = new String [] {"Tiger", "Rat", "Cat", "Lion"}
//line n1
for (String s : strArray) {
System.out.print (s + " ");
}
Rat Cat Lion Tiger?
Which code fragment should be inserted at line n1 to enable the code to print
Answer options
- A. Arrays.sort(strArray, CheckClass : : checkValue);
- B. Arrays.sort(strArray, (CheckClass : : new) : : checkValue);
- C. Arrays.sort(strArray, (CheckClass : : new).checkValue);
- D. Arrays.sort(strArray, CheckClass : : new : : checkValue);
Correct answer: D
Explanation
The correct answer is D because it correctly uses the syntax for method references with an instance of CheckClass. The other options either incorrectly use 'new' or do not instantiate CheckClass properly, which would lead to compilation errors.