Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That’s because the language designers overloaded the arithmetic operator (+) to perform string concatenation when the operands can be cast as Strings.

Without overloading the + operator, string concatenation which is a common operation, would have been unnecessarily verbose. Your example without the + operator would look like below:

   String a = new String(“a”).concat(1); // String object concat
   String a = “a”.concat(1);             // String literal concat


The same could be said of JS but for some reason it gets shit but Java gets off Scott-free.


Java doesn't get off scot-free for anything; nobody likes it, they just use it because they must.

Java just happens to be less prominent in tech media right now since JS on the server is the new(-ish) hotness. There's still plenty of dislike for it, but really, all that needed saying about it happened long before now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: