That's not a magic value. A serial version UID of 1 is considered, by
some, a default value. I know that within a Eclipse, you can either
generate a value (ala serialver tool) or insert the default value
(1L).

The serial version UID is an arbitrary value that's meant to be a
marker for a given class if two serialized objects are compatible.
Using small iterative values (1, 2, etc) is really no different than
using a complex weighted calculation that changes when the class
changes. As long as the number changes or doesn't change for a given
class, then the compatability or incompatibility, respectively, is
deterministic.

-Nathan

On 12/4/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:


Alexey Varlamov wrote:
> 2006/12/4, Tony Wu <[EMAIL PROTECTED]>:
>> This class will never be serialized. I think the meanless variable
>> here is created to avoid compiler warining.
>
> How about using @SupressWarnings("serial")? It is more readable IMO.

Thank you.  I didn't know what to suggest, but a magic value was
misleading w/o a comment...

geir

>
>>
>> On 12/1/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
>> >
>> >
>> > [EMAIL PROTECTED] wrote:
>> > > Author: liangyx
>> > > Date: Thu Nov 30 00:19:55 2006
>> > > New Revision: 480871
>> > >
>> > > URL: http://svn.apache.org/viewvc?view=rev&rev=480871
>> > > Log:
>> > > Apply patch for HARMONY-2356 ([classlib][luni]The Map from
>> System.getEnv should throw NullPointerException while get(null) and is
>> not modifiable.)
>> > >
>> > > Modified:
>> > >
>> 
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java
>>
>> > >
>> 
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java
>>
>> > >
>> 
harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SystemTest.java
>>
>> > >
>> >
>> > > +
>> > > +    public static class EnvironmentMap extends HashMap<String,
>> String> {
>> > > +
>> > > +        private static final long serialVersionUID = 1L;
>> > > +
>> > > +        public EnvironmentMap() {
>> > > +            super();
>> > > +        }
>> > > +
>> > > +        public EnvironmentMap(Map<String, String> map) {
>> > > +            super(map);
>> > > +        }
>> > > +
>> > > +        public boolean containsKey(Object key) {
>> > > +            checkParam(key);
>> > > +            return super.containsKey(key);
>> > > +        }
>> >
>> >
>> >
>> > I'm curious - why set the ServialVersionUID to 1?
>> >
>> > geir
>> >
>>
>>
>> --
>> Tony Wu
>> China Software Development Lab, IBM
>>

Reply via email to