Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialEthan Goodwin
6,537 PointsIs it bad practice to use + instead of %s
Would this be bad to do in a string:
String var = "World";
console.printf("Hello, "+var+"!");
Or do I always need to do
String var "World";
console.printf("Hello, %s!", var);
2 Answers
Jason Anders
Treehouse Moderator 145,860 PointsHi Ethan,
Concatenation
(your first example) and Interpolation
(second example) are two different ways of constructing a string with variables. Sometimes only one will work... other times both will work but one is usually better.
In your example, it doesn't make that much of a difference, although Interpolation
would still be better.
But what if you were to have 3 or 4 or 7 variables to add? Do you really want to type "string " + variable + " string " + variable ...
or would you rather "%s, <string goes here> %s %s!", variable1, variable2, variable 3
.
Or what if there is a more complex formatting needed inside of the string... your concatenated string could span many, many + signs and "".
Finally, there is the subject of readability. Even with your example, the concatenated string is much more difficult to read in code than the interpolated one. With the concatenated one (even with better spacing), takes an extra minute to see what it's purpose or output will be.
So, while sometimes concatenation is fine, it usually is not the best way. In fact, I don't really see it used that often. In my opinion, yes, concatenation
is "bad practice" and one should use interpolation
unless absolutely necessary otherwise.
Keep Coding! :)
Grant Murphy
10,072 PointsA little extra information on the subject. Worth looking at. https://stackoverflow.com/questions/6389827/string-variable-interpolation-java
Ethan Goodwin
6,537 PointsEthan Goodwin
6,537 PointsThank you!