「Java」の編集履歴(バックアップ)一覧はこちら
「Java」(2013/03/05 (火) 11:34:49) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*◆&this_page()
#contents()
----
**日付の変換
Date date = DateFormat.getDateInstance().parse(str);
getDateInstance()←Date忘れないでね
Formatを指定して変換
例えば、Tue, 04 Dec 2012 10:01:05 +0900のような形式。
SimpleDateFormat objFormat =
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
Date date = objFormat.parse(str);
Local.ENGLISHないとフォーマットできないみたい。
[[参考>>http://d.hatena.ne.jp/rudi/20101201/1291214680]]
あー、超ハマった。
**Java SEとかEEとかSDKとかJDSとかJ2SEとかJREとかとか。
-Java SE
Java SEとはStandard Editionの略です。
Javaの基本的な関数が入っています。
APIと呼ばれるものです。
例えば、[[java.lang.String>>http://e-class.center.yuge.ac.jp/jdk_docs/ja/api/java/lang/String.html]]とか
[[Java.lang.System>>http://docs.oracle.com/javase/jp/1.3/api/java/lang/System.html]]とかです。
String str = ""; str.equals("あ")とか
System.out.print()とか使ったことありませんか?
それです。
ちなみにJ2SEというのは、
バージョン1.5(5.0)までの昔の呼び方で、
今はJava SEで統一されているみたいです。
J2の後ろの部分がJava SEのSEの部分なので、
J2EEだったら下のJava EEのこと、
J2MEだったらJava MEと呼ばれるAPIのことです。
-Java EE
Java EEとはEnterprise Editionの略です。
JavaでWebサイトなどを作る際に必要な関数が入っています。
Servletとかjspの関数などが含まれています。
web.xmlなどをいじってServletクラスを作ったり、
StrutsやSeasarなどのライブラリを使ったことがなければ
縁のない関数かもしれません。
- SDK
SDKはSoftware Development Kit(ソフトウェア開発キット)の略です。
Javaに関わらずソフトウェアを開発するのに必要なツールが
一式入ってますよというものです。
なのでJavaだと、上で書いたJava SE(Standard Edition)も入っています。
他にはソースを*.classファイルにコンパイル(翻訳)するツール、
作ったアプリケーションを実行する環境などが入っています。
- JDK
JDKとはJava Development Kit(Java開発キット)の略です。
Javaを開発するのに必要なツールが一式入ってます。
Java専用のSDKということですね。
内容の構成はSDKと同じで、
標準API(Java SE)
コンパイラ(*.javaのソースファイルを*.classファイルに翻訳するツール)
実行環境
などが入っています。
JDKはJavaの開発に必要な最低限のツール一式なので、
Java EEは入っていません。
もしかしたらアプレットを作るかもしれませんし、
Webではなく端末上で動くアプリケーションを作るかもしれませんからね。
それらは別途インストールしなければなりません。
補足ですが、JDKのバージョンは1.5、1.6、1.7などありますが、
それらは5.0、6.0、7.0とも呼ばれたりします。
まだ2.0まで行ってないので、1が略されてるみたいですね~。ややこしい。
[[参考>>http://www.searchman.info/java_eclipse/1000.html]]
- JRE
JREとはJava Runtime Environmentの略です。
上のJDKの項目の実行環境の部分です。
例えば、eclipseなどでアプリケーションを実行する時に必要なツールです。
そのままですが。
コーヒーのマークのたまに更新の通知があがるあのツールです。
このJREにもJava SEやJava EEのように種類があり、
公開JREと非公開JREといいます。
JDKの中に入っているJREは、
JREの中でも基本的なものだけ入っている実行環境です。
これが非公開JREです。
ちなみに非公開JREはJDKの一部というイメージなので、
インストールしたりアンインストールしたりできません。
JDKをアンインストールしたら一緒に消えるという感じです。
更新の通知があがるツールは公開JREです。
[[参考>>http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19574&forum=12]]
** EnumクラスをStringにすると、変数の内容消える
JavascriptでAjaxでSeasarのActionにアクセスし、
RESULTというEnumを作り、statusとmessageという変数を作成し、
RESULT SUCCESS(0, "成功しました。")のようなのを作って、
返しました。
JavaのEnumの王道の使い方だと思ってたのですが…
ResponseUtil.write(JSON.encode(SUCCESS), "text/javascript");
のようにjavascriptに渡すと、
受け取った時に"SUCCESS"というString型になっていて、
statusもmessageもundefinedになります…。。
くそー、JavaのEnumはどう使えっちゅーんだっ
*◆&this_page()
#contents()
----
**日付の変換
Date date = DateFormat.getDateInstance().parse(str);
getDateInstance()←Date忘れないでね
Formatを指定して変換
例えば、Tue, 04 Dec 2012 10:01:05 +0900のような形式。
SimpleDateFormat objFormat =
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
Date date = objFormat.parse(str);
Local.ENGLISHないとフォーマットできないみたい。
[[参考>>http://d.hatena.ne.jp/rudi/20101201/1291214680]]
あー、超ハマった。
**Java SEとかEEとかSDKとかJDSとかJ2SEとかJREとかとか。
-Java SE
Java SEとはStandard Editionの略です。
Javaの基本的な関数が入っています。
APIと呼ばれるものです。
例えば、[[java.lang.String>>http://e-class.center.yuge.ac.jp/jdk_docs/ja/api/java/lang/String.html]]とか
[[Java.lang.System>>http://docs.oracle.com/javase/jp/1.3/api/java/lang/System.html]]とかです。
String str = ""; str.equals("あ")とか
System.out.print()とか使ったことありませんか?
それです。
ちなみにJ2SEというのは、
バージョン1.5(5.0)までの昔の呼び方で、
今はJava SEで統一されているみたいです。
J2の後ろの部分がJava SEのSEの部分なので、
J2EEだったら下のJava EEのこと、
J2MEだったらJava MEと呼ばれるAPIのことです。
-Java EE
Java EEとはEnterprise Editionの略です。
JavaでWebサイトなどを作る際に必要な関数が入っています。
Servletとかjspの関数などが含まれています。
web.xmlなどをいじってServletクラスを作ったり、
StrutsやSeasarなどのライブラリを使ったことがなければ
縁のない関数かもしれません。
- SDK
SDKはSoftware Development Kit(ソフトウェア開発キット)の略です。
Javaに関わらずソフトウェアを開発するのに必要なツールが
一式入ってますよというものです。
なのでJavaだと、上で書いたJava SE(Standard Edition)も入っています。
他にはソースを*.classファイルにコンパイル(翻訳)するツール、
作ったアプリケーションを実行する環境などが入っています。
- JDK
JDKとはJava Development Kit(Java開発キット)の略です。
Javaを開発するのに必要なツールが一式入ってます。
Java専用のSDKということですね。
内容の構成はSDKと同じで、
標準API(Java SE)
コンパイラ(*.javaのソースファイルを*.classファイルに翻訳するツール)
実行環境
などが入っています。
JDKはJavaの開発に必要な最低限のツール一式なので、
Java EEは入っていません。
もしかしたらアプレットを作るかもしれませんし、
Webではなく端末上で動くアプリケーションを作るかもしれませんからね。
それらは別途インストールしなければなりません。
補足ですが、JDKのバージョンは1.5、1.6、1.7などありますが、
それらは5.0、6.0、7.0とも呼ばれたりします。
まだ2.0まで行ってないので、1が略されてるみたいですね~。ややこしい。
[[参考>>http://www.searchman.info/java_eclipse/1000.html]]
- JRE
JREとはJava Runtime Environmentの略です。
上のJDKの項目の実行環境の部分です。
例えば、eclipseなどでアプリケーションを実行する時に必要なツールです。
そのままですが。
コーヒーのマークのたまに更新の通知があがるあのツールです。
このJREにもJava SEやJava EEのように種類があり、
公開JREと非公開JREといいます。
JDKの中に入っているJREは、
JREの中でも基本的なものだけ入っている実行環境です。
これが非公開JREです。
ちなみに非公開JREはJDKの一部というイメージなので、
インストールしたりアンインストールしたりできません。
JDKをアンインストールしたら一緒に消えるという感じです。
更新の通知があがるツールは公開JREです。
[[参考>>http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19574&forum=12]]
** EnumクラスをStringにすると、変数の内容消える
JavascriptでAjaxでSeasarのActionにアクセスし、
RESULTというEnumを作り、statusとmessageという変数を作成し、
RESULT SUCCESS(0, "成功しました。")のようなのを作って、
返しました。
JavaのEnumの王道の使い方だと思ってたのですが…
ResponseUtil.write(JSON.encode(SUCCESS), "text/javascript");
のようにjavascriptに渡すと、
受け取った時に"SUCCESS"というString型になっていて、
statusもmessageもundefinedになります…。。
くそー、JavaのEnumはどう使えっちゅーんだっ
** 自前クラスでのequalsはオーバーライドしないとちゃんと動かない
Javaではクラスは全てObjectを自動的に継承しているので、
equals()を使えるんだが、
そのまま使おうとするとパラメーターが全て一致していても
falseが返ってくる。
これはアドレスを見ているからだ。
データが保存されたアドレスはクラスをnewする度に
全く同じインスタンスを比較しないとtrueは返らない。
そこで正しく動作するequals()を実装する為の
システムがeclipseには備わっている。
ソースで右クリック→ソース→hashCode() 及び equals() の生成
これを実行するとhashCode()とequals()が自動生成されて
保持しているパラメータが全て一致していればtrueを返す
equals()が使えるようになる。
ただし、参考演算子を使っていたり、
if (true) return false;
のような括弧を使わないif文などが書かれているので
チェックスタイルに引っかかる場合は
自分で直さなくてはいけない。