From: Jeff E. <JEm...@lg...> - 2004-03-09 22:20:39
|
An array is an Object, regardless of your HO. From the Java language specification: "In the Java programming language arrays are objects (?4.3.1), are dynamically created, and may be assigned to variables of type Object (?4.3.2). All methods of class Object may be invoked on an array." |
From: Jeff E. <JEm...@lg...> - 2004-03-09 22:45:17
|
You can invoke toString on an array from jython like this: >>> import jarray,java >>> ca=jarray.zeros(4,'c') >>> java.lang.Object.toString(ca) '[C@5ec59c' It still doesn't return what Patrick wanted. He already had the best solution in his original post, which is to explicitly construct a java.lang.String from the char[]. -----Original Message----- From: Oti [mailto:oh...@ya...] Sent: Tuesday, March 09, 2004 3:21 PM To: Jeff Emanuel; Patrick Bielen; Jython Mailinglist Subject: RE: [Jython-users] Array to String ??? [ Jeff Emanuel ] > An array is an Object, regardless of your HO. From the > Java language specification: > > "In the Java programming language arrays are objects (?4.3.1), are > dynamically created, and may be assigned to variables of type Object > (?4.3.2). All methods of class Object may be invoked on an array." Sorry, i confused primitive types with arrays of primitive types. The problem probably is: >>> import jarray >>> ca = jarray.zeros(4, 'c') >>> pw = ca.toString() Traceback (innermost last): File "<console>", line 1, in ? AttributeError: instance of 'org.python.core.PyArray' has no attribute 'toString' >>> Best wishes, Oti. |
From: Diez B. R. <de...@we...> - 2004-03-09 23:04:29
|
> It still doesn't return what Patrick wanted. He already > had the best solution in his original post, which is to > explicitly construct a java.lang.String from the char[]. He could go for=20 >>> a=3Djarray.zeros(4,'c') >>> "".join(a) '\x00\x00\x00\x00' Diez |
From: Samuele P. <ped...@bl...> - 2004-03-09 23:03:21
|
At 16:27 09.03.2004 -0600, Jeff Emanuel wrote: >You can invoke toString on an array from jython like this: > > >>> import jarray,java > >>> ca=jarray.zeros(4,'c') > >>> java.lang.Object.toString(ca) >'[C@5ec59c' yes that's an unhelpful but nevertheless correct result. Even if PyArray had a toString it would deliver that. OTOH this works also: >>> import jarray >>> a=jarray.array('abc','c') >>> a.tostring() 'abc' it's a special method for this case. It's open question/feature request whether: str(a) should also do the obvious thing. The problem is that at the moment we are partially mimicking this: Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import array >>> array.array('c','abc') array('c', 'abc') >>> str(_) "array('c', 'abc')" >>> |
From: Oti <oh...@ya...> - 2004-03-09 22:38:26
|
[ Jeff Emanuel ] > An array is an Object, regardless of your HO. From the > Java language specification: > > "In the Java programming language arrays are objects (?4.3.1), are > dynamically created, and may be assigned to variables of type Object > (?4.3.2). All methods of class Object may be invoked on an array." Sorry, i confused primitive types with arrays of primitive types. The problem probably is: >>> import jarray >>> ca = jarray.zeros(4, 'c') >>> pw = ca.toString() Traceback (innermost last): File "<console>", line 1, in ? AttributeError: instance of 'org.python.core.PyArray' has no attribute 'toString' >>> Best wishes, Oti. |