|
What is "correct" depends on the usage. In some cases, a zero-length string may be a valid return, with a null indicating an error. For example, extra parameters for an HTML tag would return "" if the tag was set to have no extra parameters, but null if the tag has never been set up at all. That particular case aside, Java methods returning String will commonly return null - this indicates that whatever method is used to initialize the field was never invoked. As to initialization, instance variables of type String (or indeed of any non-primitive type) are initialized to null. Temporary variables are not initialized, and if the compiler recognizes that you are attemping to use a field without intializing it, it will generate a compile-time error. Finally, there is a little-discussed feature of the compiler that says that when you assign a literal value to two different String objects, they may actually get the exact same address - this helps reduce heap space requirements. It also allows two String literals to be compared using the == and != operators, although I tend to avoid this particular bit of "clever" coding. Joe ---------- Original Message ---------------------------------- From: "Stone, Brad V (TC)" <bvstone@taylorcorp.com> Reply-To: JAVA400-L@midrange.com Date: Mon, 26 Mar 2001 11:32:24 -0600 >What is more correct and why when creating local work fields in a method? String newString = new String(); or String newString = null; or String newString = ""; How about when you're creating a class? I've read that a class that returns a null attribute is a pain in the arse. So, would you simple use the constructor to change the value from null to ""? for example Class MyClass { String value = null; public MyClass() { value=""; } } +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +--- +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.