× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.