JavaBeansは、データを納める倉庫のような役割のクラスです。ごく普通のクラスなのですが、以下のルールを守ったクラスを指すのが一般的です。 プロパティへのgetter/setterメソッドを持つ引数のないコンストラクタを持つjava.io.Serializableを実装しているJavaBeansのルールは、現在のJavaが持つ豊富なフレームワークを語る上では欠かせないものです。このルールが作られ、プログラマ達がこのルールを守ってきたからこそ、Javaがここまで広く普及したと言っても過言ではありません。 この記事ではそんなJavaBeansについて「JavaBeansという言葉は聞いたことがあるけれど、よくわからないなぁ」という方向けに、勘所や背景を含めてしっかりと解説します。 この記事が、Javaを使う上では欠かせない「JavaBeansという考え方」を理解するための一助となることを願
という基本的な内容から、Enumクラスの使い方などの応用的な使い方に関しても解説していきます。今回はEnumについて、わかりやすく解説します! なお、Javaの記事については、こちらにまとめています。 Enumについて Enum(列挙型)とは、複数の定数をひとつにまとめておくことができる型のことです。Enumで定義する定数のことを列挙子と呼びます。 C言語でも列挙型は使われ、定義の方法は似ている部分がありますが、Javaの列挙型はクラスですので、フィールドやメソッドを定義することができます。 switch文で列挙子を使用することで、読みやすさ(可読性)が向上することなどがEnumを使うメリットになります。 定義について Enumの定義は以下のように記述します。 アクセス修飾子 enum 列挙名 {列挙子1, 列挙子2, ・・・}; サンプルコードで確認しましょう。 public class
これはKotlin Advent Calendar 2017 18日目の記事です(投稿が遅くなってスミマセン ) Javaエンジニア必読のEffective Javaの観点でKotlinを眺めてみると、Kotlinはとても気が利いていることがよくわかります。 ここではEffective Java第3章の項目8、項目9のequalsとhashCodeのOverrideをピックアップして見てみます。 equalsとhashCodeのOverride 概要 Effective Java第3章の項目8、項目9をおさらいしてみます。 ざっと以下のようなことが書かれています。 クラスに論理的等価性の概念を持たせたい場合、equalsをoverrideします。 equalsメソッドは以下の一般契約を満たす必要がある 反射的, 対照的, 推移的, 整合的, non nullなxに対してx.equals(n
システム開発グループの角刈り、関谷です。今はSMOOSY開発を担当しています。 今回は最近話題のプログラミング言語Kotlinを紹介します。 Kotlinってなに? Kotlinとはプログラミング言語の1つで、Kotlinで書いたコードはJVM(Java Virtual Machine)上で動作するJavaバイトコードにコンパイルされます。 2017年5月からAndroidの公式言語に加わり、今では主にAndroidのアプリ開発で使われています。それ以外にも、Spring Framework のバージョン 5.0からKotlinを使ってWeb開発ができるようになり、注目されています。 Kotlinとの出会い とあるWebの記事で、Kotlinでアプリ開発をすると1つのソースコードでAndroid・iOSの両方のアプリ開発が出来ることを知りました。その時はAndroidやiOSのアプリ開発に
Java 8 Stream API にテキストを流してみる(生成編)- Qiita Java 8 Stream API にテキストを流してみた(終端操作編)- Qiita Java 8 Stream API にテキストを流してみて(中間操作編)← 今ココ 今さらですが、昔書きかけた投稿のお蔵出しすることにします。 まだ途中ですが、書き溜めたコードを随時追記していく予定です。 [2017-04-09] 3.4 sorted() を追記 [2017-04-15] 3.5 map() 追記 [2017-04-23] 3.6 flatMap() 追記 ストリームとパイプライン 《省略》 Java 関数イディオム 《省略》 3 中間操作 《省略》 peek(Consumer<? super T> action) skip(long maxSize) limit(long maxSize) filte
【前提条件】 [環境] JDK 8.0 NetBeans 8.0 [参考資料] Oracle公式ドキュメント Lambda Expressions (The Java™ Tutorials > Learning the Java Language > Classes and Objects) Java8 APIドキュメント Java Platform SE 8 【概要】 今回はpeekについて調べてみました。 peekはStream内にある要素に対して 追加的に処理を行い他時に使用するメソッドです。 【peekメソッド】 [サンプルソース] public static void main(final String[] args) { final List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.ad
札幌は大荒れ、の予想だったのですが、今のところ大変穏やかな天候です。こんにちは。こむろです。 この記事はJava Advent Calendar 2014の17日目になります。 昨日16日は@zephiransasさんの「Lambda-behaveでテストを書こう」でした。 Java8の素晴らしき世界 Java8を使ってプログラミングしていると、新しい機能を色々と使うことで簡潔で読みやすいコードを記述することが出来ます。これが思いの外楽しくるんるん気分でコードを書くことが出来ます。今までのように型をいちいち書かなきゃとかネスト地獄みたいなところを、少しだけ、でも大胆に改善することが出来、久々にJavaでコードを書いていて楽しいと思った時間でした。AndroidはJavaではn(ry 特にここ数ヶ月、Play for JavaでJava8を利用した開発をしていたのですが、その中でStream
Javaのキーワードfinalは、変数やクラス・メソッドで「決めたことを変更できなくする」ことをプログラマーが指定するものです。finalの機能自体はこのように簡単に言えてしまうのですが、なぜそれがプログラミング上で必要なのか、意外と知られていないものです。 この記事ではそんなfinalについて、意義・使い方をばっちりお伝えします。finalは変数やクラス、メソッドに指定でき、それぞれ意味が違いますが、もちろんその違いもきちんとお伝えします。 finalを使いこなすことは、良い品質のJavaのプログラムを作るためには欠かせません。せっかくこの記事にたどり着いたのですから、これを機会にfinalをしっかりと理解して、一歩進んだJavaプログラマーになるきっかけを掴みましょう!! 1.Javaのfinalとは何か1-1.finalとは決めたものを変更できなくすること冒頭でも述べたとおり、fin
1. はじめに GoFのデザインパターンにおける、Adapterパターンについてまとめます。 2. Adapterパターンとは Adapterという英単語は、適合させるものという意味になります。 Adapterパターンは、既に提供されているがそのまま使えないものに対し、必要な形に変換して利用するための方式です。 継承を利用した方法と委譲を利用した方法があります。 Wrapperパターンと呼ばれることもあります。Wrapperは包むものという意味になります。 GoFのデザインパターンでは、構造に関するデザインパターンに分類されます。 3. サンプルクラス図 3-1. ~継承を利用した方法~ 3-2. ~委譲を利用した方法~ 4. サンプルプログラム 生徒の名前と年齢を表示するプログラムです。 4-1. ~継承を利用した方法~ 4-1-1. Humanクラス 元々提供されているクラスです。
はじめに 本投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はFactory Methodパターンになります。 まとめ一覧はこちら Factory Methodパターン Factory Methodとは インスタンスの作り方をスーパークラスで定め、具体的な処理をサブクラスで行うパターンをFactory Methodパターンと呼びます。 オブジェクトの生成と具体的な処理を分離することで、より柔軟にオブジェクトを利用することができます。 Template Methodパターンをオブジェクト生成の場面に適応させたデザインパターンと言えますね。 簡単に言えば、オブジェクト生成を容易にするデザインパターンです。 FactoryパターンとFactory Methodパターン FactoryパターンとFactory Methodパターンでは以下の違いがあります Fa
Kotlinをはじめるにあたって 言語仕様でここは押さえておこう、的な記事です。 普段の開発をJavaからKotlinへ移行していく過程で これは足りない、と気づいたら随時追記します。 何からはじめればいいですか Kotlin https://kotlinlang.org/ ここを起点に。本記事では主にAndroid開発を想定しています。 Try Kotlin ブラウザ上でサンプルを見ながら、その場でコードを書いて動作確認ができます。 コンソール↓の Open in Playground → からエディタが開きます。 More examples からはカテゴリごとにサンプルコードが見れます。 Kotlin Language Documentation 英語ですけどコードは読めるのでなんとなく意味はわかります。 https://kotlinlang.org/docs/kotlin-docs.
ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア
その他 目次 コマンドライン引数を参照する(args) 外部コマンドを起動する(exec) 簡易テキストエディタ jarファイルを作る(jar) リファレンスマニュアルを作る(javadoc) クラスを探す(CLASSPATH) システムプロパティを参照する(Properties) コマンドライン引数を参照する(args) コマンドラインで指定した引数は、main() メソッドの引数(String 配列)で参照することができます。 class ArgsTest { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("[" + args[i] + "]"); } } } C:\java>javac ArgsTest.java C:\java>j
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く