Computer
ノートパソコンが古くなって使いづらくなってきたので intel NUC でも組んでみようかと思ったが結構お金が掛かりそうだったのでやめた。
今日、量販家電店でたまたま ASUS ET2220 という液晶一体型PCをみた。
価格は7万円ほどで Microsoft の Office personal 2013 までついていた。
私はそんなもの使ったことないし、おそらくこれからも必要ないからいらないだろう。
そういえばノートPCにもついていたけどインストールせず、未開封のまま残っている。
これらはライセンス上売り払うことはできないので Microsoft が買い戻してくれると嬉しい。
ちなみに OS は無印の Windows 8 です。
Windows 8 pro のライセンスが二つ余ってるのでこれも買い戻してほしいな・・・
ゲイツくん、おねがい!
ということでセットアップなんだけど面倒だ。
とりあえずネットに接続できるようにしたけど 54Mbps の速度だった。
USB 無線子機で 450Mbps の製品がでてるからストレス感じるようだったら検討しよう。
HDD やメモリーも交換可能かばらしてみようと思ったがマニュアルには何も書いてなかった。
まるで改造お断りと言わんばかりに!
これも何かあるまで手を出さないでおくことにしよう。
タッチパネルだけどやはりデスクトップでは使いづらい(>_<)
キーボードとマウスはワイヤレスで小型のものが付属していた。
これといって特徴はないがマウスは女性向けなのか小さい。
タッチパネルで Windows 8 と Officr personal 2013 ワイヤレスキーボードとマウスが付いて7万円は妥当な価格だろう。
そうそう、量販家電店のポイントが1万円分たまっていたのでそれを内緒で使って6万円でゲットしました。
intel NUC ではこの価格は不可能だろうからよしとしよう。
ASUS ってエイサスって言うのかと思ったら店員さんはエーエスユーエスってまんま言ってた。
カタカナ読みで正しい言い方は何だろう?
TAGS: Computer |
2013年3月25日10:40 PM |
Java NetBeans
今日も Java 8 に備えて良く解らないけど未来のコードと戯れたいと思います。
今回は、Functional Interface と Virtual Extension Methods を試してみたいと思います。
ただ、@FunctionalInterface の使い方がこれであっているのか?解りません(>_<。)
@FunctionalInterface を消しても同じようにコンパイル、実行できてしまうんですよね~
@Override なんかと同じでただの注釈なのかなぁ・・・
メリットが良く解らんぜよw
Virtual Extension Methods は以前にも試したんだけど default キーワードのつく位置が変わったの(決められた)のかな。
さて、それでは試してみます。
jp\yucchi\myfunctionalinterface\MyFunctionalInterface.java |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
package jp.yucchi.myfunctionalinterface; public class MyFunctionalInterface { @FunctionalInterface private interface FuncInterface { public void hoge(); // 対象メソッド @Override public String toString(); // あっても関係ないね @Override public boolean equals(Object o); // あっても関係ないね } @FunctionalInterface private interface CompFuncInterface extends FuncInterface { // Virtual Extension Methods default public void foo() { System.out.println("foo"); } // Virtual Extension Methods default public void bar() { System.out.println("bar"); } } public static void main(String[] args) { chome(() -> { System.out.println("hoge"); }); } private static void chome(CompFuncInterface cfi) { cfi.hoge(); cfi.foo(); // Virtual Extension Methods cfi.bar(); // Virtual Extension Methods } } |
実行結果は次のとおりです。
run:
hoge
foo
bar
BUILD SUCCESSFUL (total time: 0 seconds)
実行結果からみて Functional Interface の動作は定義されているとおりに問題なく動いているようです。
Functional Interface の定義については長くなりますのでググってみてください。
日本語で詳しく説明されているサイトが見つかるはずです。
今回のプログラムでは
|
@Override public String toString(); // あっても関係ないね @Override public boolean equals(Object o); // あっても関係ないね |
Object クラスのこの二つのメソッドがあっても問題ないこと、
|
// Virtual Extension Methods default public void foo() { System.out.println("foo"); } // Virtual Extension Methods default public void bar() { System.out.println("bar"); } |
この Virtual Extension Methods の default 実装があっても Functional Interface の機能を問題なく実行できることを証明しました。
ちゃんとラムダ式で動いてます。(^_^)
|
chome(() -> { System.out.println("hoge"); }); } |
実行結果からちゃんと二つの Virtual Extension Methods も動いているのが解ります。
Java 8 の正式リリースが楽しみですね(*^▽^*)
TAGS: Java,NetBeans |
2013年3月25日7:21 AM |