Archive for February, 2005
再辨Generics
Posted on February 2, 2005 - Filed Under Uncategorized
自从用了语法简单的Java之后
再也看不懂晦涩的C++
当然这是我的问题,不是C++的错
硬着头皮看了一下Modern C++ Design
发现多数代码都是持有Generics类型然后在某些特定的时候返回
(不排除受我C++的阅读能力影响而误解)
的确是没有使用到链表之类什么的
不过只持有一个对象而不是好像链表那样持有多个对象能不能叫做一种数据结构呢
我想这也只是一个概念问题
然后我终于发现我之前的论调里说了一句废话
“
因为在Generics里你不知道具体的类是什么
所以除了存储它还能有什么操作呢
它有什么接口都不知道
”
当然有核电站了,或许就没有必要解释核裂变理论去证明巨大的原子能
这也是我之前给的看法,多数时间我们只需要使用现成Generics类
去构造一个Generics类或许就跟去学习核裂变理论的概率差不多
STL再去实现其他功能也离不开底层的数据结构实现
我也没有对Generics持疑态/否定态度
JDK 5 加入了Generics是顺应了人心
只是并不那么激动人心的事情
始终只是语言层面的改进,减少了某些实现的代码量而已
我看Generics和数据结构
Posted on February 1, 2005 - Filed Under Uncategorized
我的观点是Generics只适合做数据结构
你看看STL就知道了
STL 的字面意思跟数据结构没有关系
可是整个STL都在说数据结构
除了数据结构
还会有什么东西是可以接受任意object的呢
因为在Generics里你不知道具体的类是什么
所以除了存储它还能有什么操作呢
它有什么接口都不知道
当然数据结构不一定需要Generics
你看看java 1.4的Collection就知道了
JDK 5 引入了Generics只不过简化了Collection的实现和操作
当然配合AutoBoxing和foreach会简化代码的编译
或许还会令某些为了性能用数据而不用Collection的系统类库重写
对我们实际的编程却帮助不大
你会自己写一个Generics类吗
我想可能性不大
最后也是沦为数据结构而已