加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

什么scala语句或代码可以生成一个无法转换为java的字节码?

发布时间:2020-12-16 08:59:59 所属栏目:安全 来源:网络整理
导读:我已经阅读了一个关于将 Scala代码转换为 Java代码的问题的 answer.它说: 我不认为从scala转换回标准java是可能的,因为Scala做了一些相当低级别的字节码操作.我90%确定他们做了一些无法完全转换回普通Java代码的东西. 那么Scala语句或代码可以生成无法转换
我已经阅读了一个关于将 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的任何功能”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读