タグ

Javaに関するchitoku_kのブックマーク (12)

  • JavaやC#の常識が通用しないRubyのprivateメソッド - give IT a try

    衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ

  • 「privateな変数にpublicなアクセサを定義する」? - ネットの海の片隅で

    きっかけ こんなツイートがRTで流れてきた。 Java技術者です、って求職してきた人にする質問の一問目は 「なぜフィールドはprivateにしてgetter/setterプロパティを書くべきなのだと思いますか?」 がいいのではないかと思い始めた。— ゆば大好き (@yuba) 2014, 9月 26 そのとき思ったこと 「変数をプライベートにして、それに対してアクセサを定義する」っていうのはちょっと違う気がする。— S.Osa (@osa522) 2014, 9月 26 「外部に公開するインターフェイスを決定して、そのために必要な変数をプライベートで保持する」っていう感じ。— S.Osa (@osa522) 2014, 9月 26 変数ありきなのではなく、インターフェイスありき。 インスタンスが持っている変数は実装の詳細であって、そのインスタンスのメソッドを呼び出す側からするとどうでも良い

    「privateな変数にpublicなアクセサを定義する」? - ネットの海の片隅で
  • Javaでの文字数カウント(サロゲートペア)に関する実験 - Gaishimo

    「プログラマのための文字コード技術入門」を読んで。 Stringの文字数をカウントする時、String#length()メソッドでは厳密に文字数をカウントできない場合があるという。 実験 実際にそのケースを試してみる。 来5とカウントしたいところが、7とカウントされてしまった。これは、文字列の中にサロゲートペアに該当する文字が含まれているためである(1文字目と2文字目)。最初の2文字は「齟齬」(そご)ではなく、「齟齬」の異字体である。サロゲートペアの場合、1つの文字に対し1つのchar値が対応するわけではなく、2つのchar値が対応する形になる。String#length()はcharの数をカウントするため、この場合結果は7となってしまう。 そこでJDK1.5から追加されたString#codePointCount()メソッドを利用してカウントしてみる。これは、文字の符号位置の数をカウン

  • - Java プログラマのためのC# 考察 -- 言語仕様の比較

    2000年6月に発表された Microsoft の新しい言語,C#(シー・シャープ)は, その目指す目標,言語仕様ともに Java と密接な関係がある.この記事では, C# 言語仕様の紹介を,特に Java との比較の観点から行う. C# およびこの言語が動作する .NET(ドットネット)プラットホームについては 多分にセンセーショナルな側面があるが,ここではJava と C# 周辺の政治的な部分には立ち入らず, 技術的側面にのみ焦点をあてる.

  • 車にJavaを搭載した「Java Car」が話題。やっぱ30億のデバイスで走る最強言語だわ : IT速報

    1: 北村ゆきひろ ★ 2014/12/02(火) 14:00:32.72 ID:???.netオラクルとフリースケール・セミコンダクタ・ジャパンは“IoT時代のコンセプトカー”と称するデモシステムを構築。 2014年12月4日にフリースケールが都内で開催するイベントで初めて公開する。自動車の走行速度やエンジン回転数、スロットル開度などのデータを収集し、その情報をサーバーに集約して分析するという複数の機器やサーバーにまたがる処理を、すべてJavaで記述したのが特徴だ。 両社の協力は、2013年9月に米オラクルと半導体メーカーである米フリースケールセミコンダクターがIoT分野で協業すると発表したことに端を発する。IoTシステムへのニーズを掘り起こすための具体的な協業について各国で検討を進める中、日では活況を呈する自動車産業を対象にデモ用のIoTシステムを構築した。 今回構築したシステ

    車にJavaを搭載した「Java Car」が話題。やっぱ30億のデバイスで走る最強言語だわ : IT速報
    chitoku_k
    chitoku_k 2014/12/07
    Javaの叩かれようが散々で面白すぎる
  • Java書けるんなら当然JavaScript呼び出せるよね? - プログラマーの脳みそ

    上司Java書けるんなら当然JavaScript呼び出せるよね?さっさとやっておいて」 JavaからJavaScriptを呼び出す Java 6 からスクリプトAPIを通じてスクリプト言語を呼び出すことができる。Java標準でJavaScriptのエンジン Rhinoが組み込まれているので特にインストール作業やクラスパスを通すような作業なしにJavaScriptの呼び出しをすることができる。 import javax.script.*; public class Sample { public static void main(String[] args) throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEn

    Java書けるんなら当然JavaScript呼び出せるよね? - プログラマーの脳みそ
  • 2009-10-18

    XPまでは、System32\ にclipbrd.exe があったのに、Vistaにはない。 最低・・・ クリップボードは複数のデータ形式を保持することができますが、JavaAPIには、 文字列用のクラス(StringSelection)しかありません。 なので、複数の任意のデータ形式を扱えるクラスを作ってみました。 /* * 作成日: 2009/10/18 */ package util; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.ClipboardOwner; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.Uns

    2009-10-18
    chitoku_k
    chitoku_k 2014/08/07
    クリップボードにファイルをコピー
  • Java やってる人が C# を使うとはまること - ぐるぐる~

    ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ

    Java やってる人が C# を使うとはまること - ぐるぐる~
    chitoku_k
    chitoku_k 2014/07/27
    言語機能の違い
  • ジェネリック: Java vs C#

     ジェネリック: Java vs C# 概要 2005 年初頭に公開された Java 言語仕様第 3 版 (開発実行環境は 2004 年秋に先立って公開されていた) と 2005 年 6 月に ECMA に承認された C# 言語仕様第 3 版 (開発実行環境は 2005 年末に公開された) では、共にジェネリック (ジェネリックス、ジェネリクス、総称: generics) という新しい概念が導入され、文法もそれに伴って変化している。 Java と C# はどちらも静的な型付けを行うオブジェクト指向プログラミング言語であり、C 言語を基にした 似たような文法をしている。 この記事では、Java 言語のジェネリックと C# 言語のジェネリックを、その機能や文法の違いを中心に比較する。 ジェネリックな型 ジェネリックな型は、どちらの言語でも山型の括弧を使って表される。ジェ

    chitoku_k
    chitoku_k 2014/07/27
    ジェネリック
  • 特集 私がJavaからC#に乗り換えた10の理由(1/4) - @IT

    起きてから寝るまで、息を吸うのも、厠(かわや)での一連のアクションも.NET Frameworkで構築している私だが、実は少し前まで目を閉じるとまぶたの裏でJavaのマスコットである“Duke”がゴーゴー・ダンスを踊っちゃうくらいにJavaな日々を送っていた。そんな私が過去の資産を捨てて.NET Frameworkに転んだ理由は簡単。.NET Framework、特にC#の設計思想が私のし好に合っていると感じたためだ。 稿では、私がJavaからC#に乗り換えた理由を示し、それを基にC#の“正しい”使い方について考察する。C#に興味のあるJavaプログラマや、どう使えばよいのか悩んでいるC#プログラマに読んでいただきたい。そうそう、アーキテクトにも。プログラミングできないアーキテクトなどあり得ないのだから。 C#とJavaは似ていない。確かに表面上は似ているが、C#にはJavaにはない文法

  • Java 8のラムダ式とStreamについてのリソース (lambda, Stream, JSR 335, LINQっぽい) - いろいろ備忘録日記

    久しぶりにJavaのメモ。 Java 8のラムダ式 (Lambda Expression)とStreamについての情報をメモメモ。 きしださんの記事がすごくわかりやすいです。感謝m(_ _)m .NETやってる側からすると、LINQに似ていて、とっつきやすいですね。 Java8のStreamを使いこなす http://d.hatena.ne.jp/nowokay/20130504 Java8のStreamの目的と書きやすさや可読性、並行処理の効果について http://d.hatena.ne.jp/nowokay/20130506 Java8のlambdaとStream http://sumomo.ohwaki.jp/wordpress/?p=163 Java〓 Platform, Standard Edition 8 Early Access with Lambda Support ht

    Java 8のラムダ式とStreamについてのリソース (lambda, Stream, JSR 335, LINQっぽい) - いろいろ備忘録日記
  • なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み

    Javaは決して悪い言語ではない。 C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。 でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドなど数多くの新機能が加わった現行C#とは最早比べるまでもないと思う。 以下は根拠。 ■注(2014年2月18日) このエントリーは殴り書きに等しい状態で放置してましたが、最近は思わぬところで読まれ始めたりしたので、ちょっと加筆修正しました。 ①そもそも純粋なオブジェクト指向言語ではない。

    なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み
  • 1