2024-04-20 05:23:21 发布
网友
我发现在https://chaquo.com/chaquopy/doc/current/python.html#java.cast中缺少如何使用这些非常有用的函数的例子。你知道吗
我希望能有更多的例子来展示如何完成一些我一直在努力完成的任务。例如解释是否可以将二维Java数组转换为Python列表、数组或张量。甚至只是理解语法的用法java.cast文件(). 你知道吗
在Java中,因此在您链接到的java模块中,“cast”实际上并不将一个对象从一个运行时类型转换为另一个运行时类型,而是将一个表达式从一个静态类型转换为另一个类型;只有当对象的运行时类型已经是静态类型或者它的子类型,或者null(None)时,它才会工作。你知道吗
java
null
None
这就是为什么java.cast文档说“对象必须要么可赋值给给定的类,要么None(表示Java null),否则TypeError将被引发。”
java.cast
TypeError
所以你不能用java.cast来完成你提到的任何任务。Java数组不是Python列表,也不是Python数组,也不是Python张量,因此不能将其“转换”为一个。你知道吗
与此相关的是,文档中说“类必须是由jclass或jarray创建的,或者是类或数组的JNI类型签名。”因此,甚至无法表达“转换到Python列表”的想法。你知道吗
jclass
jarray
1。注意:Java实际上有两种类型的“强制转换”:除了我在这里讨论的对象的强制转换之外,还有一种用于数值原语,例如((int) 3.5)就是3。这个确实做了一个值转换,但它只适用于七个数字类型byte、short、int、long、char、float和double。你知道吗
((int) 3.5)
3
byte
short
int
long
char
float
double
在Java中,因此在您链接到的
java
模块中,“cast”实际上并不将一个对象从一个运行时类型转换为另一个运行时类型,而是将一个表达式从一个静态类型转换为另一个类型;只有当对象的运行时类型已经是静态类型或者它的子类型,或者null
(None
)时,它才会工作。你知道吗这就是为什么
java.cast
文档说“对象必须要么可赋值给给定的类,要么None
(表示Javanull
),否则TypeError
将被引发。”所以你不能用
java.cast
来完成你提到的任何任务。Java数组不是Python列表,也不是Python数组,也不是Python张量,因此不能将其“转换”为一个。你知道吗与此相关的是,文档中说“类必须是由
jclass
或jarray
创建的,或者是类或数组的JNI类型签名。”因此,甚至无法表达“转换到Python列表”的想法。你知道吗1。注意:Java实际上有两种类型的“强制转换”:除了我在这里讨论的对象的强制转换之外,还有一种用于数值原语,例如
((int) 3.5)
就是3
。这个确实做了一个值转换,但它只适用于七个数字类型byte
、short
、int
、long
、char
、float
和double
。你知道吗相关问题 更多 >
编程相关推荐