No,
you can’t pass null as an argument to append method of StringBuilder. Let’s try
to pass null argument and see what will happen.
Test.java
public class Test { public static void main(String args[]){ StringBuilder builder = new StringBuilder(); builder.append("First Name").append(null); } }
Try
to compile Test.java, you will end up in following error.
$javac Test.java Test.java:5: error: reference to append is ambiguous builder.append("First Name").append(null); ^ both method append(CharSequence) in StringBuilder and method append(char[]) in StringBuilder match 1 error
As
you observe the error message, Java compiler is unable to get the proper append
method that takes null argument, it is because append is overloaded in many
forms, when you call the method append with null argument, it don’t know which
one to call. One way to solve this problem is type cast the null to specific
type.
builder.append("First
Name").append((String)null);
Test.java
public class Test { public static void main(String args[]){ StringBuilder builder = new StringBuilder(); builder.append("First Name").append((String)null); } }
Run
Test.java, now it runs without any compilation errors.
You may like
No comments:
Post a Comment