ÄúÕýÔڲ鿴 "Jython" ·ÖÀàϵÄÎÄÕÂ
2009-03-13 19:32
±ÈÈçÔÚJavaÖÐÓÐbyte []£¬ÄÇôÈç¹ûÐèÒªÔÚJythonÖд«ÈëÕâÑùµÄ²ÎÊýÔõô°ìÄØ£¿¿ÉÒÔʹÓÃjarrayÄ£¿é¡£È磺
1 2 3 4 5
|
>>> import jarray >>> s = [10, 20] >>> a = jarray.array(s, 'b') >>> a array('b', [10, 20])
|
ʹÓÃjarray.array¾Í¿ÉÒÔÉú³ÉÊý×é¡£¶øÇÒËüÊÇÒ»¸öͨÓõŦÄÜ£¬¸ù¾ÝµÚ¶þ¸ö²ÎÊýµÄ²»Í¬£¬¿ÉÒÔÉú³É²»Í¬µÄÀàÐÍ¡£¶ÔÓÚ²»Í¬µÄÀàÐÍ£¬¿ÉÒÔʹÓò»Í¬µÄÀàÐÍ´úÂ룬È磺
z Boolean
c char
b byte
h short
i int
l long
f float
d double
Èç¹ûҪת»»µÄûÓжÔÓ¦µÄÀàÐÍ´úÂ룬¿ÉÒÔÖ±½ÓʹÓÃÀ࣬±ÈÈ磺java.lang.Byte¡£
²»¹ý¶ÔÓÚbyte£¬PythonÖÐûÓзֵúÜϸ£¬ÒªÃ´ÊÇ×Ö·û´®£¬ÒªÃ´ÊÇÕûÊý¡£¶øJavaÖеÄbyteÊÇ´ø·ûºÅµÄ£¬Òò´Ë£¬Èç¹ûÄã°ÑÒ»¸ö16½øÖƵÄ×Ö·û´®ÏëתΪһ¸öByte£¬Ôõô×ö£¿
int('0xff', 16)
ÕâÑùµÃµ½Ò»¸öÕûÊý¡£È»ºó£º
java.lang.Byte(int('0xff', 16))
µ«ÊÇÖ±½ÓʹÓÃjava.lang.Byte¶ÔÏóÀ´Éú³ÉÊý×éÊDz»Ðеģ¬È磺
1 2 3 4 5
|
>>> import java >>> jarray.array([java.lang.Byte(255)], 'b') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Type not compatible with array type
|
¿ÉÒÔ¿´µ½ÀàÐͲ»¶Ô¡£Õâʱ¿ÉÒÔʹÓÃjava.lang.ByteµÄintValue()¾Í¿ÉÒÔÁË£¬È磺
1 2 3
|
>>> import java >>> jarray.array([java.lang.Byte(255).intValue()], 'b') array('b', [-1])
|
BTW: ¸Õ¿´µ½3ÔÂ9ÈÕ£¬Jython 2.5b3·¢²¼ÁË£¬ÐÞ¸´ÁËÎÒÒÔǰ˵µÄ¹ØÓÚfrom xxx import *µÄBug¡£ |
|
|