什么scala语句或代码可以生成一个无法转换为java的字节码?
我已经阅读了一个关于将
Scala代码转换为
Java代码的问题的
answer.它说:
我不认为从scala转换回标准java是可能的,因为Scala做了一些相当低级别的字节码操作.我90%确定他们做了一些无法完全转换回普通Java代码的东西. 那么Scala语句或代码可以生成无法转换为java的字节码? 附:我通常同意这个答案,但想要一个具体的例子用于学习目的. 解决方法
答案实际上取决于您想要尝试转换代码的难度.
由于Java和Scala都是完整的,所以任何一个程序都可以简单地转换为另一个程序,但这并不是真正有趣或有用. 你真正想要的是将结果转换为可读的惯用代码.从这个角度来看,即使Java代码也无法自动转换为Java,因为编译会丢失信息(尽管与C相比相对较少),并且无论如何,机器在编写人类可读代码方面都不如人类好. 如果您有Java和Scala专家,他们可能会用Java重写您的Scala代码库,最终会得到合理的惯用Java代码.但它不像Scala那样可读,因为Scala是一种旨在改进Java的语言. Scala尝试从Java中删除疣并提供强大的高级编程功能,无需使用所有经典的Java样板.因此,Java等效代码库将不具有可读性. 从这个角度来看,答案是“Scala中没有Java的任何功能”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |