what is difference between null and "null" of String.valueOf(String Object)

if-statement, java, null, object, string

Solution

Here's the source code of `String.valueOf`: -

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}

As you can see, for a `null` value it returns `"null"` string.

So,

String stringValue = null;
String valueOf = String.valueOf(stringValue);

gives `"null"` string to the `valueOf`.

Similarly, if you do: -

System.out.println(null + "Rohit");

You will get: -

"nullRohit"

EDIT

Another Example:

Integer nulInteger = null;
String valueOf = String.valueOf(nulInteger) // "null"

But in this case.

Integer integer = 10;
String valueOf = String.valueOf(integer) // "10"

Problem

in my project ,Somewhere I have to use if n else condition to check the null variables ``` String stringValue = null; String valueOf = String.valueOf(stringValue); ``` but when i check the condition like ``` if (valueOf == null) { System.out.println("in if"); } else { System.out.println("in else"); } ``` then output is "in else" ,why this is happening?

Original source