照片:Trung ThanhonUnsplash
今年,我的公司要举办一个技术兴趣活动,前端和后端互相学习技术栈。一个前端的同事突然给我发了一段java代码。
public class A{
他问我`int b = 0`为什么IntelliJ IDEA显示错误,C和JavaScript都支持?
我开玩笑地告诉他,这是java的一个特点。
回到主题,我认为java抛弃这种语法糖是一个错误的选择。默认值给我们带来了很多的方便。幸运的是,我们可以通过两种方式来弥补它。
1方法重载
public void foo(String a, Integer b) {
这种方法的局限性之一是,如果你有两个相同类型的可选参数,而其中任何一个都可以省略,那么它就不起作用了。
2 构建器模式
结论
我认为java抛弃这种句法糖是一个错误的选择。
如果你有不同的观点,请发表评论。
参考文献
[1]stackoverflow.com/questions/9…
在Java方法中用默认值模拟参数的2种方法最初发表于Medium上的Javarevisited,人们在这里通过强调和回应这个故事来继续对话。