Aka*_*ph7 1 python java chaquopy
我发现https://chaquo.com/chaquopy/doc/current/python.html#java.cast 中缺少如何使用这些非常有用的功能的示例。
我希望有更多的例子来展示如何执行我一直在努力执行的一些任务。例如解释是否可以将二维 Java 数组转换为 Python 列表、数组或张量。甚至只是了解使用 java.cast() 的语法是什么。
在 Java 中 - 因此在java您链接到的模块中 - “强制转换”实际上并没有将对象从一种运行时类型转换为另一种。1相反,它只是将表达式从一种静态类型转换为另一种;并且仅当对象的运行时类型已经是该静态类型或其子类型或null( None)时才有效。
这就是为什么java.cast文档说“该对象必须可以分配给给定的类,或者None(代表 Java null),否则TypeError将被引发。”
所以你不能java.cast用来做你提到的任何任务。Java 数组不是 Python 列表,也不是 Python 数组,也不是 Python 张量,因此您不能将其“强制转换”为一个。
相关地,文档说“该类必须是由jclassor创建的jarray,或者是类或数组的 JNI 类型签名。” 因此,甚至无法表达“强制转换为 Python 列表”的想法。
1. 注意:Java 实际上有两种“强制转换”:除了我在这里谈论的一种用于对象之外,还有一种用于数字基元,例如(例如)((int) 3.5)是3. 那一个确实做的值转换,但它仅适用于七个数字类型byte,short,int,long,char,float,和double。