From: <sa...@gm...> - 2001-04-07 22:08:05
|
On Fri, 6 Apr 2001 11:10:26 -0500, Eric Bresie said: > > From: On Behalf Of M.H...@ja... > > Sent: Friday, April 06, 2001 3:09 AM > > > > Well, you can't overload any operators like '=' or '[]', BUT AFAIK you can > > overload '+' (the only thing you can overload !) because otherwise you > > couldn't do 'system.out.println ("This sucks: " + myVariable);' :-) AFA_I_K you can't even overload the +. It's just a special case when used with String-Expression. You can use <any String-Expression> + <any other Object> then the Objects .toString()-Method is called and a new String is created consisting of the First String, with the result of the Method-Call appended (remember, Strings are immutable in Java). > > You are right about the overloading of operators...but in the instants you > listed "+ myVariable" I would imagine the way that is done is with some > typecasting into a string or object that matches the type of the given > existing + operation types ( object + object, string + string, etc)..so if > MyVariable is a class that is in someway derived from one of the existing > classes, then it would be able to occur. object + object is illegal, if the first object is not a string. The Programm public class Test1 { public static void main(String args[]) { String a = "a"; String b = "b"; Integer eins = new Integer(1); Integer zwei = new Integer(2); System.out.println(a + eins); System.out.println(a + b); System.out.println("" + eins + zwei); //ugly hack, 'cause (eins + zwei) is illegal } } prints a1 ab 12 > > Someone correct me if I am wrong...I am trying to improve my java knowledge > whenever I can :-) > > Eric Bresie > eb...@us... regards Joachim Sauer -- f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng. |