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


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

Re: Unable to Overload toString for Object

Newsgroups comp.lang.java.programmer
Date 2014-02-12 20:24 -0800
References (2 earlier) <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> <ldgg7n$2nk$1@dont-email.me>
Message-ID <cd1085ea-193d-4826-8308-698ba9096f6a@googlegroups.com> (permalink)
Subject Re: Unable to Overload toString for Object
From Ojesh Dugar <ojesh.u@gmail.com>

Show all headers | View raw


On Thursday, February 13, 2014 12:27:59 AM UTC+5:30, Eric Sosman wrote:
> 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

Object[] array = (Object[]) createResult; 
this line itself gives an error.
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to [Ljava.lang.Object;
	at XMLRPC.Testing.main(Testing.java:64)

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