白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

Java

JavaとC#とTypeScriptのinterfaceの違い

こんにちは。 急に気候が変わってついていけません。 窓を開けると湿度の低さにびっくりします。さて、最近たまに記事に書いているように、ちょくちょくTypeScriptを触っています。 もともとJavaをやっていて、いまはC#をメイン言語にしているので文法的にそ…

総称型メソッドの型指定

こんにちは。新年度が始まって二週間がたちました。 新しい環境で頑張っている方はとてもお疲れのことでしょう。 新しくなくても眠たいです。春眠春眠・・・。この前コードを書いていてふと気づいたこと。 JavaとC#で総称型メソッドの挙動が違う。 総称型メ…

staticイニシャライザとstaticコンストラクタは同じだと思っていました

こんにちは。年の瀬ですね。 お仕事は納まりましたか。 あれ・・・なんかこれ去年も書いた気がする。 そもそもイニシャライザとかコンストラクタってなんだっけ Java staticイニシャライザはJavaの機能。 class Hoge { static String fuga; // staticイニシ…

staticでないネストクラス

こんばんは。昔は海の日から夏休みが始まった気がするのですが、 最近はハッピーマンデーの関係でそうでもないんですよね。さて、前回のつづきです。 前回はstaticなネストクラスについて書きましたが、 今回は「でない」方です。 Java Javaにおけるstaticで…

staticなネストクラス

こんばんは。液晶保護シートが上手に張れないわたしです。 剥がして使ってみたらすごく快適なので、もう張らなくていい気もしてきました。さて、JavaにもC#にもネストクラスという仕組みがありますが、 ちょっと挙動が違うので整理してみようかと思います。…

JJUG CCC 2017 Spring

こんばんは。今日は「夏」でしたね。 ひぃひぃ。さて、今年もやってきました。 「JJUG CCC」の季節が。(年2回ですけど)もはや業務でJavaは全然使っていないのですが、 せっかくだから参加してきましたよ。 今回は4コマだけ。 e1 ふつうのJavaコーディング …

C#を勉強する 小ネタ② IDEのショートカット

こんばんは。今年度も残すところあと二日ですね。 新年度の準備はできましたか。わたしは4月からまた会社員に戻りますよ。 いつか転職エントリとか書きますかね…?さて、最近はVisualStudioを使うことが多いのですが、 いつまでたってもショートカットを覚え…

Java使いがC#を勉強する その⑪ LINQ

table.compare_table {width: 100%; font-size:90%;} table.compare_table th {background-color: cornsilk;} table.compare_table th:nth-child(3n+1) {width: 40%;} table.compare_table th:nth-child(3n+2) {width: 30%;} table.compare_table th:nth-chi…

Java使いがC#を勉強する その⑩ ラムダ式

こんばんは。なんだかんだで10回目まで来ました。 環境依存文字の丸で囲んだ数字が⑳まであってよかったね!今回はラムダ式について見ていきます。 delegateなんてなかったのだ ラムダ式は要するに匿名関数なのですが、 delegateって何?匿名クラスは?関数オ…

Java使いがC#を勉強する その⑨ 演算子オーバーロード

こんばんは。眠いのは春のせいです。いつも眠いのはきっと気のせいです。しゅんみん は あかつき を おぼえた! てってれー。 さて、今回は演算子オーバーロードについて見ていきます。 この機能はJavaを使っているときからうらやましかったですね。 特にベ…

Java使いがC#を勉強する その⑧ 例外処理

こんばんは。平穏無事な日々を送りたいわたしです。 でも、世の中には思いがけないことも多いものです。 そんなわけで今日は例外処理です。 例外の比較 ひとまずJavaとC#の例外を比較してみましょう。 一般的な例外(Javaでは非検査例外) 説明 C# Java null…

ダブルディスパッチってちょっとかっこよくない?

こんばんは。昼間は割と暖かいですが、 朝晩は寒いので服装選びに失敗します。わたしです。オブジェクト指向プログラミングにおいて利用されるテクニックに、 ダブルディスパッチというものがあります。名前がかっこいい! フィギュアスケートの技にありそう…

Java使いがC#を勉強する その⑦ アクセス修飾子

こんばんは。本棚がいっぱいになって困っています。わたしです。 今回はアクセス修飾子について見ていきます。 基本 アクセス修飾子は型および型のメンバーにつけることができます。 アクセス修飾子の種類は以下の通りです。 修飾子 Java C# public どこから…

Java使いがC#を勉強する その⑥ 拡張メソッド

こんばんは。何やら今日は妙に温かかったですね。 そして明日は寒いらしいですね。体調に気をつけましょう。さて、C#には拡張メソッドというデンジャラスな機能があります。 今回はこれを見ていきます。 拡張ってどういうことだ 通常、あるクラスにメソッド…

Java使いがC#を勉強する その⑤ 継承とインタフェース

こんばんは。今回はクラスとインタフェースについて比較します。 オブジェクト指向なので、だいたいクラスでしょといってしまえばおしまいなのですが、 それはそれということで。 命名規則 クラスはJavaもC#もパスカル記法(キャメルケースの先頭も大文字)…

お前もFunctionalInterfaceにしてやろうか

こんばんは。タイトルの元ネタ、誰のセリフか知らなかったのですが、デーモン閣下だったのですね。 あと、藁人形だと思ってたけど蝋人形でした。ごめんなさい。しばらくC#ネタを書いていましたが、たまにはJavaネタを。 安心感。で、Java8で追加された機能に…

Java使いがC#を勉強する その④ インデクサ

こんばんは。なんだか雪みたいなものが降りましたね。 寒いわけです。さて、前回はプロパティについて書きましたが、 今回はその延長でインデクサについて見ていきます。 インデクサ インデクサはインスタンスに添え字を指定してアクセスできる機能です。Jav…

Java使いがC#を勉強する その③ プロパティ

こんばんは。スマホの液晶シートが上手に貼れない私です。 今日はプロパティについてみていきます。 アクセサ オブジェクト指向プログラミングでは、オブジェクト内部のメンバ変数に外部からアクセスするためには、 「アクセサ」と呼ばれるメソッドを利用し…

Java使いがC#を勉強する その② 配列

こんばんは。久しぶりに雨が降りましたね。 雨が好きなわけではないですが、湿度が高いのはありがたいです。さて、前回はデータ型について比較したので、 今回はそのついでのような形で配列について見ていきます。 1次元配列 1次元配列に関しては、あまり大…

Java使いがC#を勉強する その① データ型

こんばんは。今日は節分ですね。 恵方巻き食べましたか?豆まきしましたか? 私はこれからまきます…。さて、C#の言語仕様をJavaと比較してみるシリーズ始めます。 最初はデータ型について比較してみましょう。 値型(プリミティブ型) C# Java 説明 sbyte by…

ハノイの塔

こんばんは。肩こりがひどい人なので最近ストレッチをしているのですが、 伸ばし過ぎてむしろ体が痛くなりました私です。今日はハノイの塔で遊びます。 ハノイの塔 - Wikipedia インドのガンジス河の畔のヴァラナシ(ベナレス)に、世界の中心を表すという巨…

ラムダ式をメモ化する部品を作ろうとして混乱したお話

こんばんは。クリスマス直前とは思えない暖かさですね。 大掃除は進んでいますでしょうか。 メモ化とフィボナッチ数列 さて、今回はメモ化のお話です。メモ化とは、簡単に言えば、参照透過性を持つ関数の計算量を削減するためのキャッシュです。 引数に対す…

TF-IDFでニュースを要約する

こんばんは。猫様に椅子を取られて座るところがありません。さて、今回はTF-IDFを使って文章要約を試してみます。 要約と謳ってはいますが、重要な文を抜き出すだけなのでご注意を。 TF-IDFってなんだ 今回のポイント、TF-IDFについて簡単に説明します。TF-I…

JJUG CCC 2016 Fallに参加してきました

こんばんは。年2回開催されているJJUG(日本Javaユーザグループ)のカンファレンスに参加してきました。 なんだかんだでもう3回目の参加です。 だいぶ慣れた気はしますが、周りの人が全てスーパープログラマーに見えるのは相変わらずです。で、あの・・・え…

Comparatorの型推論

こんばんは。雪、降りましたね。 寒い…。 さて、Streamなお話。Streamを処理する際、ソートには中間メソッドのsortedを使います。 このメソッドの引数はComparatorですが、自然順序付けを使わないような場合には、 comparingやcomparingIntなどのメソッドを…

JavaでTwitterBotをつくってみたよ

こんばんは。最近VBAが多くて、あまりJavaを書いていない気がするわたしです。 あ、このブログのプロフィール欄をTwitterとかで使っている名前と写真に合わせました。 なんか混乱してきたので。さてさて、 結構前にさくらVPSにJavaやらMySQLやらJenkinsやら…

OCJP SE8 Goldに合格しました

こんばんは。新しいiPohoneに変えようかちょっと悩んでいます。 5sユーザなのでサイズが大きくなるのが・・・。 さて、少し前の話ですが、オラクル認定Javaプログラマの試験に合格しました。 (※写真差し替えてます。わたしはネコ科ではない。)Goldは参考書…

うちのコンソールには勝手にFizzBuzzしてくれる妖精が住んでいる

こんばんは。暑さ寒さも彼岸から。 変に暑かったり寒かったり困りますね。 体調がもうだめです。ところで、 「FizzBuzz」 知ってますよね。できますよね。え、できない?いやいやいや。 System.out.printlnするだけですよ。 import java.io.PrintStream; pub…

LocalDate#ofの引数はゼロ埋めしないよ

こんばんは。急に涼しくなっていまいち体調が悪いです。 しかもまた暑くなるとか・・・無理・・・。 さて、Java8でDate/Time APIが刷新されて使いやすくなりました。 ローカライズされた日付を扱いたいときにはLocalDateクラスを使います。parseメソッドを使…

List<Integer>をremoveするとどうなる?

こんばんは。だいぶ涼しくなってきましたね。 その分朝に布団から出るのがつらくなってきました。 さて、割と有名かもしれませんが、Listのremoveのお話です。これを実行すると、 List<String> list1 = new ArrayList<>(Arrays.asList("hoge", "fuga", "piyo")); lis</string>…