| Author |
StringBuffer...
|
Preethi Dev
Ranch Hand
Joined: Sep 07, 2008
Posts: 265
|
|
Hi,i got it from http://www.go4java.20m.com/mock1.htm class outerex { public static void main(String args[]) { String s[]={"A","B"}; System.out.println(s[0]+","+s[1]); } } here i am getting error as incompatible types. if i use StringBuffer s[]=new StringBuffer[]("A","B"}; then it's working. why so? Preparing Scjp 5
|
 |
James Tharakan
Ranch Hand
Joined: Aug 29, 2008
Posts: 580
|
|
Are you sure you got such a error??? I just now Compiled and i was able to run the program without any knid of problem and with the expected results.
|
SCJP 6
Why to worry about things in which we dont have control, Why to worry about things in which we have control ! !
|
 |
Preethi Dev
Ranch Hand
Joined: Sep 07, 2008
Posts: 265
|
|
please replace this String s[]={"A","B"} with StringBuffer[] s={"A","B"}; sorry i posted the wrong one which is irrelevant to my question. now you check with this...
|
 |
Ankit Garg
Saloon Keeper
Joined: Aug 03, 2008
Posts: 9191
|
|
Arun you can intialize String array with the syntax String[] arr = {"a", "b"}; because this is just a shortcut provided to you by the compiler (just like autoboxing etc) to make String class feel like a primitive type. But this shortcut is not applicable to any other type. So when you write this StringBuffer[] arr = {"a","b"}; compiler changes the right hand part of the = operator and makes it new String[]{"a", "b"} so you get the inconvertible error message as String and StringBuffer classes are not related to each other...
|
SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
|
 |
Rekha Srinath
Ranch Hand
Joined: Sep 13, 2008
Posts: 178
|
|
Adding to what Ankit said, the right statement here would be: StringBuffer s[]=new StringBuffer[]{new StringBuffer("A"),new StringBuffer("B")};
|
 |
Preethi Dev
Ranch Hand
Joined: Sep 07, 2008
Posts: 265
|
|
|
Thanks...i got it .
|
 |
 |
|
|
subject: StringBuffer...
|
|
|