- 主题:java是最简单的编程语言吗?
java的Enum如果只当做枚举常量来试用的话对初学者来说算是很简单的了。
至于内部类,对于初学者来说完全可以不用这个东西。
【 在 mingtong (。。。) 的大作中提到: 】
并不觉得设计精良…..
比如enum和内部类的一些细节,这都设计的什么xx玩意儿
【 在 hgoldfish 的大作中提到: 】
: 那么 java 是最简单的了。。
:
: 工作越久,越觉得 java 是设计最精良的语言。比 python 和 js 不知道高到哪儿去。
: ....................
- 来自「最水木 for iPhone 8 Plus」
--
FROM 111.207.227.28
我刚才回了一段和你差不多的话,不知道为啥系统不让我发……
Enum相比普通整型常量另一个最大的好处就是是一个自动单例和不可能修改的对象
【 在 oldwatch (一条叫java的鱼◎城内风光独好) 的大作中提到: 】
代码混淆不属于常规需求……
而且类膨胀个人觉得没啥不好
pojo数据类也经常有各种get/set之外的方法
exception里会记录各种当前上下文
挺好
【 在 webhost (webhost) 的大作中提到: 】
: enum吐槽:最初是当做枚举常量来用的。后来觉得既然是java,要讲对象,要讲设计思想,那你一个类什么都不干,有点说不过去。于是逐渐给枚举添加了初始化参数。后来又添加了各种对外接口。后来干脆把switch干活的部分也放到了枚举类里。最后我发现这个枚举类跟我定义的一
--
FROM 118.186.11.210
单例和不可修改会让这玩意儿用起来毫无负担啊,不管怎么传怎么复制也不会有额外的内存开销,值也不会被别人改掉。
【 在 oldwatch (一条叫java的鱼◎城内风光独好) 的大作中提到: 】
我主要是图一个语义(约束)明晰
单例等等都是小节
【 在 blueboats (天·地·魔·鬥) 的大作中提到: 】
: 我刚才回了一段和你差不多的话,不知道为啥系统不让我发……
: Enum相比普通整型常量另一个最大的好处就是是一个自动单例和不可能修改的对象
: 代码混淆不属于常规需求……
: ...................
--
FROM 118.186.11.210
用类型约束来代替静态常量本来就是Enum的基本需求
我这里的意思Enum作为一个可以在里面放属性和方法的对象,单例和不可修改性让其比普通的对象更安全。不用担心被new很多份,也不用担心里面的属性被改掉。
【 在 oldwatch (一条叫java的鱼◎城内风光独好) 的大作中提到: 】
稍微靠谱一点的设计,这种值都是弄成全局静态常量
照样是单例的
主要还是没类型约束会埋坑
【 在 blueboats (天·地·魔·鬥) 的大作中提到: 】
: 单例和不可修改会让这玩意儿用起来毫无负担啊,不管怎么传怎么复制也不会有额外的内存开销,值也不会被别人改掉。
: 我主要是图一个语义(约束)明晰
: 单例等等都是小节
: ...................
--
FROM 118.186.11.210
你可以用enum对象作为case语句的条件,不能用enum对象里的属性当条件
【 在 nikezhang (难得糊涂) 的大作中提到: 】
: 我试着用枚举的code成员做switch的case,类似case XX.getCode,结果不行说case只能用常量,不能用可变的,问题是enum的成员属性也没法改吧
--
修改:blueboats FROM 118.186.11.210
FROM 118.186.11.210
嗯,我一般会在enum类型里面装一些static的EnumMap
【 在 javafish (这不是一个昵称) 的大作中提到: 】
更OO的写法是有可能的话
直接把整个switch塞进enum里
【 在 blueboats 的大作中提到: 】
: 你可以用enum对象作为case语句的条件,不能用enum对象里的属性当条件
:
--
FROM 118.186.11.210
我不会在enum里面塞复杂的逻辑,塞一些static Map主要是为了快速地把一个enum值映射成另外一个对象。
【 在 javafish (这不是一个昵称) 的大作中提到: 】
: 我经常发现我的业务逻辑
: 被塞在某个pojo的get/set/construct里
: 或者是某个enum的自定义方法里……
: ...................
--
FROM 118.186.11.210