Re: [問題] compile後出現的note
※ 引述《adrianshum@kkcity.com.tw ( )》之銘言:
: ※ 引述《wctang.bbs@ptt.cc (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
討論串 (同標題文章)