我喜欢Java。 我喜欢用Java编程。 但是在使用Python一段时间后,我希望对其进行一些更改。 它几乎纯粹是语法上的,因此可能有更好的JVM语言,但是我并不真正感兴趣,因为我仍然需要使用普通的Java来工作。 我意识到这些更改将不会实施(尽管我以为我听说其中的一个实际上正在准备将来的版本); 这些只是一些想法。

我不想以开放和免费的Python方式释放Java。 实际上,我经常喜欢Java的限制所带来的挑战。 我主要只是想少打些字。 因此,这是我希望在Java中看到的更改。

摆脱分号

我意识到它们是有目的的,但实际上不是必需的。 实际上,它们实际上使代码更难阅读,因为将多行代码推到同一行几乎总是更难阅读。 从技术上讲,使用分号可以将整个代码文件压缩为一行,以减小文件大小,但是用Java多久完成一次? 可能比我知道的要多,但我不知道它已经完成了。

卸下花括号

这有两个主要原因。 首先,我们可以结束花括号冷战! 其次,我们可以停止在花括号上浪费代码行。

另外,就像我之前说的,我正在尝试减少正在执行的键入次数,这将有所帮助。 最后,通过这样做,花括号可以被打开以用于新用途(稍后将看到)。

操作员超载

当涉及到数学运算时,我并不真正在意运算符的重载。 它们可能很方便,但是方法可以做到这一点。 我最大的担心是比较,尤其是==。 我真的希望Java跟着Python一样,让==是用于相等性检查(您甚至可以通过equals方法进行操作),并使用“ is”来进行身份检查。 同时,实现Comparable应该允许您将比较运算符与它们一起使用,而不需要自己转换数字返回值。

如果需要,也可以允许某种方式来重载数学运算符。

元组和/或数据结构

我可以使用其中任何一个,但两者都会更好。 元组作为一次返回多个事物的返回类型特别有用,这有时很方便。 对于简单的数据结构(基本上是C结构)也可以做到这一点,因为它们应该非常轻便。

数据结构的一件大事就是摆脱Java Bean。 如果我们也能够用它们定义不变量,那就更好了。 Java Beans的最大问题在于,我们不必为了传递一些数据而定义一个完整的类。 如果我们无法获得结构,那么至少,我想获得下一个东西。

物产

天哪,我喜欢属性,尤其是在Python中。 允许您使用简单的访问器和变量,就好像它是一个直接变量一样,使代码看起来更漂亮。

默认为

我已经看到一些人谈论“更好的默认设置”的情况,在最典型的情况下,应该省略修饰符关键字(例如publicprivatestatic )。 public很容易成为类和方法的最常用关键字,那么为什么默认的“ package-private”呢? 我也可以主张将private设置为字段的默认值,但是我有点认为默认值应该在所有地方都相同,以减少混乱,但是我对此并不固守。

我就变量是否应默认为final争论不休,以帮助推动人们迈向不变性的想法,但我不在乎。

类型对象

这种与智能默认设置有关。 我认为原始函数的自动功能是能够将它们用作对象。 我真的不在乎你怎么做。 最好将其打开以获取真实的原语,以便在需要时进行优化。 这对我来说并不重要。 如果大多数时候它们自然地作为原语传递,那会很酷,但是它们只需调用它们的任何方法就可以自动装箱到对象中。 参数和返回类型应该不在乎传递哪一个。 这也将有助于大大减少Java中内置功能接口的数量,因为大多数实际上是处理基元的重复项。

列表,字典和集合文字

对于那些使用javaScript或Python的人来说,您真的知道我在说什么。 我的意思是,那方便吗? 这与可以使用Streams的构造函数(类似于Java的Generators之类。有点类似)结合在一起,将使集合使用起来相当容易。 字典字面量和集合字面​​量确实可以很好地使用花括号。

这是我希望在Java中看到的更改列表。 就像我之前说过的那样,我认为这些事情永远不会发生(尽管我听说它们正在努力处理类型对象),但这实际上只是一个愿望清单。 你们同意我的选择吗?

翻译自: https://www.javacodegeeks.com/2015/01/how-id-like-java-to-be.html

我如何想成为Java相关推荐

  1. 我从阿里面试回来,想和Java程序猿谈一谈

    最近小编看了一篇关于面试的文章,题目是"我从阿里面试回来,想和Java程序员谈一谈",内容不是讲面试前刷题,而是更加聚焦在面试前如何准备,以及工作当中如何学习.感觉总结的很不错,今 ...

  2. java判断邮箱名和文件名_Java公开课|想学好Java,教你操作Java校验文件名和邮箱地址,快来看看...

    [摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...

  3. 百度三轮面试回来,想和Java程序员分享一下。

    转载自 百度三轮面试回来,想和Java程序员分享一下. 一,百度一面 1.给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样. 2.10 亿个 url,每 ...

  4. 阿里面试回来,想和 Java 程序员谈一谈

    转载自 阿里面试回来,想和 Java 程序员谈一谈! 第一个问题:阿里面试都问什么? 这个是让LZ最头疼的一个问题,也是群里的猿友们问的最多的一个问题.说实话,LZ只能隐约想起并发.JVM.分布式.T ...

  5. python桌面开发吐血_想用java写个桌面小demo,就布局都差点写吐血了,学艺不精...

    demo简略需求 项目背景 很多文件重复存放,除了管理混乱,还会对患有强迫症用户的身心造成10000点的伤害...其实就是360云盘当时上传了有上传,造成很多重复的图片+视频,前阵子360个人云盘&q ...

  6. 学会java可是没学历_想学java,但是学历不是很高能学吗,

    活到老学到老,人最怕的是不学习. 人们往往在准备去学一个东西的时候,会有一些担心,比如难不难,能不能学会,或者就是学历不高能不能学会等等这些问题. 如果学java的话,学历高不高是其次.Java大家都 ...

  7. 女朋友生日java程序_★★女朋友要过生日了!我想用java为她写一个程序,一举两得啊! 希望大家多提建议啊!谢谢!!!...

    女朋友要过生日了,我想用java为她写一个程序,所以想请教大家,  希望大家给我出出点子, 同时手头有3D  等漂亮图形的java程序或其他一些特效的文字,图形java程序,都希望大家多提供,  多帮 ...

  8. 考研学java还是c语言,想学习Java,应该选择就业还是考研?

    想学习Java,应该选择就业还是考研?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 想学习Java,应该选择就业还是考 ...

  9. 垃圾大学,想自学 Java 可以吗?难吗?毕业后能找到一份 6k左右的工作吗?

    前几天在头条上收到一条私信,内容大致是这样的:"我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?" 不知道有没有人有类似的问题, ...

  10. 前几天在头条上收到一条私信,内容大致是这样的:“我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?”

    前几天在头条上收到一条私信,内容大致是这样的:"我学校比较垃圾,想自学 Java 可以吗?自学 Java 难吗?毕业后能找到一份 6k左右的工作吗?" 不知道有没有人有类似的问题, ...

最新文章

  1. 神秘使者到 Java 帝国传道协程,竟被轰了出去!
  2. 4.9.3 方法注释
  3. [Step By Step]SAP HANA中使用Excel展示分析视图数据(带层次结构)
  4. python中thread的setDaemon、join的用法
  5. SpringMvc2 使用注解形式发布请求地址
  6. linux怎么安装scp服务,linux下ssh安装与scp命令使用详解
  7. SQL Server 2014各个版本区别
  8. SP1437 Longest path in a tree(树的直径)
  9. VC编程获取和修改环境变量,不重启系统即时生效
  10. Talk预告 | 北京大学人工智能研究院杨耀东:一个合作博弈的通用求解框架
  11. TPC基准程序及tpmc值
  12. 制作浏览器javascript书签
  13. 一文带你由浅入深Netty异步非阻塞世界(持续更新~~~)
  14. 2022年考个中级会计有多难?多地财政局紧急官宣取消延考
  15. 天地图2.0和google卫星非偏移数据叠加
  16. 学籍信息管理系统-------具体设计
  17. MySQL数据库课程设计_Wincc实现与数据库的交互以及报表的实现方式
  18. PTA - 数据库合集16
  19. 交付管理——怎样预判项目风险
  20. 网络与信息安全产品(一)

热门文章

  1. ssm(Spring+Spring mvc+mybatis)Spring配置文件——applicationContext-servlet.xml
  2. Redis(案例六:ZSet数据)
  3. 2016蓝桥杯省赛---java---B---8(四平方和)
  4. RecyclerView多布局的简单使用
  5. 系统架构设计师考试 重要的部分
  6. 韩文博 php,No releases available for package pear.php.net/HTTP_Upload
  7. 代理模式(多线程实现状态监控)
  8. java分布式对象(RMI+部署使用RMI的程序)
  9. 静态工具类注入service的方法
  10. java登录界面命令_Java命令行界面(第11部分):CmdLn