Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Explaining a better way to Java language design to beginners?

Hsinfu TsengMay 28 2024 — edited May 28 2024

Hi everyone,

I'm a mid-level engineer who recently transitioned from C# to Java.
I just migrated our entire tech stack from C# to the Java ecosystem.
We also welcomed a new colleague who previously used PHP.

During my guidance on Java, we had the following conversation:

New colleague: Why do we use equals() for string comparison instead of == or ===?
Me: Because String is an object.
New colleague: Then why can we concatenate strings with the + operator?
Me: The + operator is actually shorthand for StringBuilder.append(). From an object-oriented perspective (OOP), you can also use string1.concat(string2).
New colleague: Why isn't the + operator used for BigDecimal addition here?
Me: Because BigDecimal is also an object...
New colleague: Following that logic, if strings are objects, shouldn't we create them with String string1 = new String() and then string1.setValue(new char[] { 's', 't', 'r', 'i', 'n', 'g' })?
Me: That would be too verbose. By the way, how did you compare strings in PHP?
New colleague: We used ===. strcmp() was an option too, but less common.

After many more questions...
Me: Don't overthink it, just write code and get used to it.

Do you have any better explanations for Java's design choices that are easier for beginners to understand?

P.S. I previously asked a similar question on the amber-dev mailing list,
but I don't know how to explain the "blessed type".

Comments

Artan Hajdari Feb 11 2025

Can someone help me in this case please

1 - 1

Post Details

Added on May 28 2024
4 comments
315 views