Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #27492

Re: Unable to Overload toString for Object

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Unable to Overload toString for Object
Date 2014-02-12 13:57 -0500
Organization A noiseless patient Spider
Message-ID <ldgg7n$2nk$1@dont-email.me> (permalink)
References (1 earlier) <a4GdnaxRH4JrfGTPnZ2dnUVZ8vednZ2d@giganews.com> <1138f80c-bc7c-4edd-a91b-fb5f8e2137d6@googlegroups.com> <afa4179b-ea47-4bc4-b9d3-a3a4e7df06bf@googlegroups.com> <0163eae2-3f35-4b96-a292-87a2fe3d3b03@googlegroups.com> <ldgf0i$quu$1@dont-email.me>

Show all headers | View raw


On 2/12/2014 1:37 PM, markspace wrote:
> On 2/12/2014 12:38 AM, Ojesh Dugar wrote:
>> Basically, I am able to access Bugzilla Webservice API through java
>> code(xmlrpc) and in return i get a object of <<class
>> java.util.HashMap>>. According to Bugzilla documentation two items
>> are returned, bugs and faults, both are array of hashes and I want to
>> access these. Thanks.
>>
>
>
> Cast to a HashMap and iterate over all of its keys.
>
> (not tested):
>
> // create bug
>     Object createResult = rpcClient.execute("Bug.search", new
> Object[]{bugMap});
>        //createResult.toString();
>
>    HashMap bugs = (HashMap)createResult;
>    for( Object key : bugs.keySet() ) {
>      System.out.println( "Key "+key.getClass().getName()
>                        + "= "+key
>                        + ", value "+ bugs.get( key ).getClass().getName()
>                        + "= "+ bugs.get( key )
>                  );
>    }
>
> More info here:
>
> http://www.mkyong.com/java/how-to-loop-a-map-in-java/

     This probably won't work as written.  The original post said
createResult.toString() produced "[Ljava.lang.Object;@2ee5e48a",
indicating that rpcClient.execute() returns an Object[], that
is, an array of Object references.  (To those surprised that an
array of Objects is itself an Object: Someday it will all make
sense, I promise.)  So what he needs to do is cast the returned
value to an Object[]:

	Object[] array = (Object[]) createResult;

... then iterate over the contents of the array:

	for (Object obj : array) {

... and then (assuming the Objects in the array are HashMaps as
advertised, or in any case *some* kind of Maps):

	    Map bugs = (Map) obj;

... and *then* he can iterate over the entries, either in the
manner markspace shows or by using the key/value pairs directly:

	for (Map.Entry ent : bugs.entrySet()) {
	    Object key = ent.getKey();
	    Object val = ent.getValue();
	    ...

-- 
Eric Sosman
esosman@comcast-dot-net.invalid

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-10 22:59 -0800
  Re: Unable to Overload toString for Object leif.roar@invalid.com (Leif Roar Moldskred) - 2014-02-11 02:40 -0600
    Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:03 -0800
      Re: Unable to Overload toString for Object Lew <lewbloch@gmail.com> - 2014-02-11 15:49 -0800
        Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 00:38 -0800
          Re: Unable to Overload toString for Object markspace <markspace@nospam.nospam> - 2014-02-12 10:37 -0800
            Re: Unable to Overload toString for Object Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-02-12 13:57 -0500
              Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 20:24 -0800
                Re: Unable to Overload toString for Object Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-02-13 08:29 -0500
            Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 20:58 -0800
              Re: Unable to Overload toString for Object markspace <markspace@nospam.nospam> - 2014-02-12 21:29 -0800
                Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-13 00:59 -0800
  Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:06 -0800
    Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:27 -0800

csiph-web