java jython_将对象从Java传递到Jython时保留Java类型
我想知道当你把它们放在
Java ArrayList中时,是否有可能没有jython automagicaly将java对象转换为python类型.
从jython-console复制的示例:
>>> b = java.lang.Boolean("True");
>>> type(b)
>>> isinstance(b, java.lang.Boolean);
1
到目前为止,一切都很好,但如果我把对象放在ArrayList中
>>> l = java.util.ArrayList();
>>> l.add(b)
1
>>> type(l.get(0))
该对象被转换为类似python的布尔值(即int)和…
>>> isinstance(l.get(0), java.lang.Boolean)
0
这意味着我再也看不到这曾经是java.lang.Boolean.
澄清
我想真正想要实现的是在将对象从Java传递到Python时摆脱从Java类型到Python类型的隐式转换.我将举一个澄清的例子.
一个Python模块:
import java
import IPythonModule
class PythonModule(IPythonModule):
def method(self, data):
print type(data);
以及使用此模块的Java类:
import java.util.ArrayList;
import org.python.core.PyList;
import org.testng.annotations.*;
import static org.testng.AssertJUnit.*;
public class Test1 {
IPythonModule m;
@BeforeClass
public void setUp() {
JythonFactory jf = JythonFactory.getInstance();
m = (IPythonModule) jf.getJythonObject(
"IPythonModule",
"/Users/sg/workspace/JythonTests/src/PythonModule.py");
}
@Test
public void testFirst() {
m.method(new Boolean("true"));
}
}
在这里,我将看到输出’bool’,因为隐式转换,但我真正想要的是看到’javainstance’或’java.lang.Boolean’.如果要运行此代码,还需要可以找到here的JythonFactory类.
java jython_将对象从Java传递到Jython时保留Java类型相关推荐
- java里class有什么用_安装JDK时的java和javac命令有什么用?
相信大家都装过JDK吧,在装JDK时我们会在命令提示符窗口中通过java和javac两个命令来检测我们的环境变量是否配置正确,那么你知道java和javac两个命令有什么用吗? 在了解这两个命令的作用 ...
- java urlconn 下载慢_使用HttpURLConnection下载文件时出现
java.io.FileNotFoundException彻底解决办法...
import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.RandomAc ...
- java csv 双引号_Java-使用Scess编写CSV时从字符串类型数据中删除双引号
我们正在使用带有Spark的Java.当前的需求是编写一个 DataSet 到Spark,空间作为Delimeter.下面是我尝试过的代码: fooDataSetObject.coalesce(1). ...
- java中class对象的理解 讲得相当不错 很接地气 引用下
https://blog.csdn.net/mcryeasy/article/details/52344729 https://blog.csdn.net/dufufd/article/details ...
- Java虚拟机专题对象内存定位
一 对象在内存中的布局 1.1对象的创建过程 对象的创建过程可以如下图所示: 1.2 什么是符号引用和直接引用,为什么需要在常量池定位到符号的引号? 在类的解析阶段,把虚拟机常量池内的符号引号替换为 ...
- Java:简述对象转换为字符串的三种方式
Java:简述对象转换为字符串的三种方式 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 一.(String)强制类型转换 使用 ...
- java面试题_阿里大厂流出的数百道 Java 经典面试题
BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...
- Java学习总结——对象的引用与传递
拾柒--对象的引用与传递 一.初步了解引用传递 引用传递也称为传地址,指的是在方法调用时,传递的参数是按引用进行传递,其实传递的是引用的地址,也就是变量所对应的内存空间的地址. 方法调用时,若实际参数 ...
- java h5 交互 传数组, JS数组/对象的值为什么变了?你需要深入理解对象的值传递...
复杂的对象数据处理后,可能发现某个对象值变了,有时却不变. 上述问题往往会困扰 JS初学者,甚至老手也不一定能说出所以然. 本文将对此进行一定深层探究 -- 深入理解 JS中的对象的值传递. Why ...
最新文章
- MySQL解压缩安装
- mysql rrd_关于cactiEZ数据迁移操作思路
- shell oracle查询数组,shell 脚本 ---数组
- 高频变压器_变压器图案
- C语言深度剖析书籍学习记录 第七章 文件结构
- Ubuntu 安装 Eclipse C/C++开发环境
- 200 300的完数 c语言,C语言求完数(完全数)(详解版)
- h5 移动端 监听软键盘弹起、收起
- LeetCode算法题-Detect Capital(Java实现)
- map在Sql中的传参 模糊查询limit分页
- char和char*
- Python实现多变量序列堆叠式LSTM模型,并实现未来多时刻预测
- Mac下载及安装Tomcat
- Mac版Lync无法登陆问题(登录设置)
- java转盘抽奖算法_抽奖算法 - 幸运大转盘 - java
- uva 10099 The Tourist Guide nyoj 1019 亲戚来了【单个路线最大流【最短路算法】】
- 2022年五大人工智能自动化趋势
- linux下mtr命令,linux-常用命令-mtr(示例代码)
- Windows编译FreeRDP
- 摄像机-哈苏-哈苏相机:哈苏相机
热门文章
- python安卓下载-QPython - Python for Android
- python 菜鸟-python菜鸟教程
- 自学python能干些什么副业-用Python赚钱的5个方法,教你业余时间赚外快!
- python基础知识-一篇文章搞定Python全部基础知识
- 自学python顺序-【经验分享】自学Python的学习顺序!附学习资料
- python装饰器详解-Python装饰器基础概念与用法详解
- 编程语言python入门-【python】编程语言入门经典100例--19
- 关于语音识别技术 你了解多少
- 远场语音是什么鬼?和人工智能有什么关系?
- 用深度学习进行语音识别为什么还要算mfcc?