关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
我正在从事一个java项目,我想用java解析一些python代码。
python代码包含python中typing模块中的一些类型。基于某些类型,我需要运行特定的方法,因此如何表示java中不存在的python类型。这种类型的一个例子是 typing.Any
.
为了 typing.Any
它等同于使用java泛型吗?我是否只需要浏览特定python类型的源代码,然后在java中重新实现它,或者有其他方法可以做到这一点?
据我所知 typing.Any
python中的类只是禁用了任何类型检查,我不知道如何在java中这样做。目前我正在使用java对象,但我知道该对象不是任何对象的正确表示。
非常感谢您的帮助。
1条答案
按热度按时间eimct9ow1#
禁用任何类型检查,我不知道如何在java中这样做。
在java语言中,你不能这么做。java不允许您选择退出类型安全性。
对于typing.any,它等同于使用java泛型吗?
不。
还有别的办法吗?
Object
包括你需要的一切。当然,因为java是强类型的,所以不能只调用
o
然后让编译器运行:好吧,呃,好吧,我想如果我们运气好,并且这个方法在运行时正好在那里,我会调用它,如果没有,呃。。我想我会抛出一个例外。java不是这样工作的。要让java像那样工作,你什么都做不了。所有的java都可以让你用你的
o
引用是保证对任何和所有对象都有效的东西(这并不多)!您可以使用反射,但请注意,方法名称是不够的,除非只有一个方法具有该名称(在java中,可以有具有相同名称的不同方法,只要它们的param类型不同)。这极为笨拙,但也有可能:
使用:
当然,这是慢狗。如果你喜欢这类东西,java不是你想要的。也许很棒。