On 2020-05-12 06:10, rob stone wrote:
> On Mon, 2020-05-11 at 02:28 -0400, javadesigner wrote:
>> empty is not the same as null in java. this is a java specific
>> discussion btw.
>>
>
> Vraimente.
>
> java.util.Map map = con.getTypeMap();
>
> So, the variable "map" is now an empty map object. Highly likely it
> contains hex zeroes. It could contain the string "empty" but that does
> not sound reasonable. Maybe there is no memory address and memory is
> only allocated with the first "put".
That is not how maps work in Java. A map is a collection of keys and
values (aka a hashtable or dictionary), an empty map has no keys (and
thus no values).
> System.out.println("map:"+map);
>
> So, println accesses the memory occupied by the object and assuming it
> contains unprintable hex zeroes, it can either display "null", or
> convert to printable zeroes or ignore it and display nothing.
>
> What output did you expect from "System.out.println("map:"+map);"??
> That is the question.
Printing out a map is not what you'd normally do in Java, but if you do,
an empty map will print (without quotes): '{}', assuming the
java.util.HashMap implementation or the value of
java.util.Collections.emptyMap().
Mark