作者wctang (wctang)
看板java
标题Re: [问题] compile後出现的note
时间Mon Jul 17 18:30:47 2006
※ 引述《[email protected] ( )》之铭言:
: ※ 引述《[email protected] (wctang)》之铭言:
: > http://wctang.info/blog/2005-04-19_Programming
: > Calendar 和 DateFormat 在 jdk1.1 就出现了,所以这个问题也 lag 很久了,如果
: > Date 是没用的,那留了这麽久也很奇怪。以我的想法,Date 的出现是名正言顺,java
: > 毕竟不是 C ,用 long 来表示时间反而觉得奇怪,而且在 api 设计上也会出现问题
: > (ex serialize) ,但有时的确用 long 来表示是好的,像是在 jni 的 api 设计上,
: > 用 long 来表示时间就会方便许多。
: 我这里看到感觉有点怪怪的.
: 所谓 jni 的 api 指的是...?
: 一般来说, 用 jni, 大概你不会直接把 java 的 api
: 就直接拿来用. 通常会是自己再把 java 写的东西再
: 包一层 native 的 "interface" 来提供 api.
: 这个 wrapper 以 long 来代表 date 是没有问题 (wrapper
: 就该以包的 language 的惯例来做). 但 java 本身
: 该也仍然以 Date 来代表 date/time.
: 前者 (wrapper) 我不觉得该叫 jni 的 api, 那只是 native
: 的 api 而已, 後者也不该用 long 代表时间.
: Alien
我会把 jni 提出来可能是因为之前的经验让我想例子的时候就先想到这个例子。
曾经看过在 jni 介面中也用到一堆 java 物件,使得 c 的那端必需处理一堆从
java 来的物件,会这麽做的原因我想应该是原本 java 已经设计的很复杂的物件
体系,并不是很容易将原本的传递的 java 物件都转化为 c 的基本类型,所以会
用到 jni 中比较少被用到的功能。或许这个例子举得不好吧 :)
其实 java 中的 wrapper class 有好多,像 Integer, Boolean, Byte ,那除了在
使用其中的 utility function 外,大家觉得还有什麽情况会用到这些 class 呢?
(例如,在什麽情况下会用这些 class 做为参数而不是用 primitive type 呢?)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.154.10