個人財務 プログラミングJava:Javaのプログラミング目標

プログラミングJava:Javaのプログラミング目標

ビデオ: Java教材 Java基礎講座「 プログラムはどこに書くの?」【アテイン株式会社】 2024

ビデオ: Java教材 Java基礎講座「 プログラムはどこに書くの?」【アテイン株式会社】 2024
Anonim

Javaの最初の設計目標の1つは、言語を可能な限りシンプルに保つことでした。言語の開発者は、C ++の不必要に複雑な機能をいくつか取り、それらをウィンドウの外に投げ込んだ。結果は、エレガントで洗練された言語でした。言語があまりにも洗練されていると言う人もいました。

数年にわたる議論と喧嘩の後、Javaはもう少し複雑になりました。 2004年までに、Javaには列挙型、拡張forループ、静的インポート、その他の興味深い新機能がありました。しかし、最も話題の新機能はジェネリックの導入でした。

<! - 1 - >
ArrayList people = new ArrayList();

Java 5のようなものを使ったのは新しいものでした。古いスタイルのJavaでは、

ArrayList people = new ArrayList();

当時、ArrayListには、数字、勘定科目、部屋、文字列など何でも保存したいものがほとんど格納されていました。 ArrayListクラスは非常に汎用性がありましたが、この多才さでいくつかの頭痛がありました。何かをArrayListに入れることができれば、ArrayListから何を得るのか簡単に予測できません。

<! - 2 - >

特に、ArrayListに特定の型の値を格納していると想定したコードを簡単に記述できませんでした。次に例を示します。

ArrayList things = new ArrayList();もの。追加する(新しいアカウント());アカウントmyAccount =もの。 get(0); //これを使わないでください。それは悪いコードです。

第3行目では、get(0)を呼び出すとthingsコレクションの最も早い値が取得されます。 get(0)の呼び出しは大丈夫ですが、コンパイラはmyAccountへの割り当てを試みます。 3行目に、あなたが物事リストから得たものがmyAccount変数に詰め込まれないというメッセージが表示されます。

- <!コンパイラが3行目に到達するまでに、2行目に追加された項目が「アカウント」タイプであることを忘れてしまったため、このメッセージが表示されます。

genericListの導入により、この問題は解決されます。

ArrayList

things = new ArrayList ();もの。追加する(新しいアカウント());アカウントmyAccount =もの。 get(0); //このコードを代わりに使用します。それは良いコードです。 2つの場所を追加すると、アカウントインスタンスがストアされていることがコンパイラに通知されます。したがって、前のコードの3行目では、thingsコレクションから値を取得します。その後、物はAccountオブジェクトだけを格納するので、myAccountをその新しい値に参照させることができます。

<! - 2 - >

Java 5.0ではJavaにジェネリックが追加されました。しかし、Java 5.0の誕生直後、プログラマーはジェネリックスのコードがどれほど難しいのか気づいた。結局、ジェネリックの中でジェネリックを作ることができます。 ArrayListには一連の配列を含めることができ、各配列はArrayListにすることができます。したがって、

ArrayList

mess = new ArrayList  ();を書くことができます。  その混乱宣言のすべての繰り返しは、プログラマーに頭痛を与えます!この醜さを避けるために、Java 7以降のバージョンには

ダイヤモンド演算子 、 があります。ダイヤモンドの演算子は、Javaに、ジェネリック宣言の前の部分にあなたが入れた不思議な複雑なものを再利用するように指示します。 <! - 3 - >

この例では、

を1回だけ書き込んでも、 を再利用するようJavaに指示します。ここでは、合理化されたJava 7コードがどのように見えるかを示します。 ArrayList

mess = new ArrayList  (); Java 7以降では、これらの混乱宣言のいずれか、つまり、ArrayList []が2回出現した元の厄介な宣言、またはダイヤモンド演算子とArrayList []の1つのみの合理化された(穏やかで厄介な)宣言を書くことができます。発生。

はい、合理化されたコードはまだ複雑です。しかし、すべてのArrayList []の繰り返しがなければ、合理化されたコードはあまり煩雑ではありません。 Java 7のダイヤモンド演算子は、間違って何かをコピーしてコードに大きなエラーがあるというチャンスを逃してしまいます。

プログラミングJava:Javaのプログラミング目標

エディタの選択

Drupalフォーラムの有効化 - ダミー

Drupalフォーラムの有効化 - ダミー

フォーラムはユーザーコミュニティを作成するのに最適です。人々は他者からの援助を得ることができ、あなたのコンテンツに関するフィードバックを提供し、単純に社会化することができます。あなたのDrupalフォーラムは、あなたが望むようにしっかりとまたはゆるやかに制御することができます。フォーラムで許可されているカテゴリを制御できます。フォーラムの例を見るには、Drupal Forumを参照してください。 ...

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ウェブホスティング会社は、あなたがDrupalをインストールし、あなたのサイトをウェブ上に見えるようにするWebサーバー。一部の企業では、Drupalをインストールしたり、ワンクリックでインストールすることができます。あなたがDrupalのインストールをスキップする場合は、次のいずれかのアカウントを取得することを検討してください。

Drupalガーデンサイト構造管理 - ダミー

Drupalガーデンサイト構造管理 - ダミー

Drupal Garden Structureページでは、 、ページ、およびブロックを表示します。このページから制御できる特定の機能、ブロック、およびページには、連絡先フォーム、フォーラム、メーリングリストなどがあります。ブロックで表示される機能をブロックで管理することもできます。

エディタの選択

エグゼクティブとのデータマイニング - ダミー

エグゼクティブとのデータマイニング - ダミー

数字で遊ぶという楽しみのためにデータマイニングに取り掛からない。あなたは行動を望む。あなたは正しいことを見たいと思っています。データからの確かな証拠に基づいてビジネス上の決定を下すことが重要であることを理解しています。しかし、あなたは決定を下す権限を持つ人ではありません。だからあなたは...

ビッグデータガバナンスチャレンジ - ダミー

ビッグデータガバナンスチャレンジ - ダミー

データガバナンスは、大きなデータソースが彼らがどのように管理されているか。従来のデータウェアハウスやリレーショナルデータベース管理の世界では、データ保護の必要性に関するルールをよく理解している可能性があります。たとえば、医療界では、それは...

エディタの選択

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

赤外線を電気的に生成するには、赤外線スペクトルで動作する特殊な発光ダイオード(LED)を使用します。赤外線LED(しばしばIR LEDと呼ばれる)は、RadioShackまたは電子部品を販売する他の店で容易に入手できます。 IR LEDは、通常のLEDと似ていますが、光を見ることはできません。

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

を通して、あなたの電子プロジェクトを制御する場合パラレルポートであるKit 74 DOSソフトウェアは、コマンドプロンプトから実行できるRELAY、DELAY、WAITFORの3つのコマンドで構成されています。 RELAYコマンドRELAYコマンドは、1バイトのデータをパラレルポートに送信します。あなたから実行できること - RELAY、DELAY、およびWAITFOR - 8つの出力端子のそれぞれが...

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

、フリップフロップは特殊なタイプのゲートラッチ回路です。フリップフロップにはいくつかの異なるタイプがあります。フリップフロップの最も一般的なタイプは次のとおりです。SRフリップフロップ:SRラッチに似ています。 CLOCK入力に加えて、SRフリップフロップにはSETとRESETという2つの入力があります。 SET入力がHIGHの場合...