How does the result differ between the String and number operands of the '+' operator?
Let's take a look at the following example,
class Program {
public static void main(String[] args) {
System.out.println(1 + 2 + " fiddlers");
System.out.println("fiddlers " + 1 + 2);
}
}
The output is:
3 fiddlers
fiddlers 12
The + operator is syntactically left-associative, the expression a + b + c is always regarded as (a + b) + c. The type analysis to represent string concatenation or addition is based on the evaluation order.
In the 1 + 2 + " fiddlers", the first two are int, so the result is 3. Then since the next operand is a String object, 3 is converted to String and "fiddlers" is concatenated to 3, so the result is "3 fidders".
In the "fiddlers " + 1 + 2, since the first operand is a String, the rest of the operands are converted to String then concatenated to it, so the result is "fiddlers 12".
Most Recent java Faqs
- How to uncompress a file in the gzip format?
- How to make a gzip file in Java?
- How to use Java String.split method to split a string by dot?
- How to validate URL in Java?
- How to schedule a job in Java?
- How to return the content in the correct encoding from a servlet?
- What is the difference between JDK and JRE?
Most Viewed java Faqs
- How to read input from console (keyboard) in Java?
- How to use HttpURLConnection POST data to web server?
- How to add BASIC Authentication into HttpURLConnection?
- How to Retrieve Multiple Result Sets from a Stored Procedure in JDBC?
- What are class variables in Java?
- What are local variables in Java?
- How to Use Updatable ResultSet in JDBC?