私は最近Javaに入りました。私は動的言語の背景を持っており、最終的に人々がJavaの冗長さに不平を言う理由を理解しています。この問題に対処するクラスライブラリはありますか?私は多くの場合、Javaでユーザ入力を得るために必要な8行ほどではなく、String text = someClass.stdin()
のようなものを入力します。Javaの非常に冗長なクラスライブラリ
答えて
Apache Commonsライブラリ(特にLang、IOおよびCollections)の中には、特定のコアJava APIの冗長性を隠すように設計されているものがあります。しかし、Java言語の冗長性は、私たちはすべて固執しています。
は確かにGoogleはまた、コレクションライブラリのように、標準ライブラリのセクションを補完するライブラリの数をリリースしました
JPythonの、JRubyの、Clojureは、Scalaの...いくつかあります。 Guiceはまた、IMHOがその春を学ぶのが簡単な素晴らしい軽量DIフレームワークです。
標準ライブラリは非常に大きいので、すべてを置き換える単一のライブラリがないと思います。
import java.util.Scanner;
...
System.out.print("Enter your name: ");
String userName = new Scanner(System.in).nextLine();
または:あなたが最善の策は、個々の問題を解決するためのライブラリを探すことですねJavaの5では
(つまり、私はコレクションAPIを好きではない、私は、オブジェクトプールなどが必要) 、Java 6:
String userName = System.console().readLine("Enter your name: ");
+1素晴らしい点は、標準ライブラリの最新版がまだそれに対処していないことを確認してください。 – Yishai
Java 6へのアップグレードが完了しました。禅のような洞察力をありがとう:時にはあなたが探しているものが既にそこにある。 –
私はこれらの8行をJavaでユーザ入力することに興味があります。
私は、あなたのプログラムが大きくなるにつれて、Javaの冗長さは資産になると個人的に思っています。 CやC++とは異なり、すべてがオブジェクト指向のやり方で行われます。出力を表すオブジェクトを取得した後、そのオブジェクトに対して操作を発行します。長期的に理解して維持するのがずっと簡単です。
ここは素敵なprintf()と同じくらい簡単ですか?いいえ、Pythonのスクリプトと同じくらい便利ですか?もちろん違います。しかし、それはJavaのような言語を使用するコストの一部です.Lambdasの不足が迷惑であるように。
エンジニアとして、あなたの役割は仕事に最適なツールを選ぶことです。私はPythonでPythonでコーディングし、Pythonでコーディングを行い、それぞれのトレードオフを受け入れます。
言語を変更することはできませんが、一部の操作(GoogleやApacheのIOライブラリなど)を簡略化するライブラリを使用できます。あなたに最も迷惑をかけるもののための独自のクラスを書くこともできます。
また、言語と標準ライブラリの冗長さを混乱させると思います。ライブラリにはたくさんのものが含まれていますが、そのほとんどは必要としません。私は既存の部門をかなり簡単に見つけ、気にしなかった分野で自分自身を見つけたことはありませんでした。
本当にJavaに耐えられない場合は、Scalaのようなハイブリッド言語を使用することができます。
私はIDEのライブテンプレート機能に傾いているのは大好きです。 (IntelliJ IDEA)StringBufferまたはSystem.out.println( "...")を最後に覚えた時は思い出せません。
- 1. Javaの冗長なクラスローディング
- 2. Java Infinite非常に長いループ
- 3. 冗長POSTは常に空です
- 4. XPathパーサーJava冗長性
- 5. Javaコマンドラインツール、冗長出力フラグ
- 6. npmエラーが非常に冗長であるのは普通ですか?
- 7. I2C eepromの冗長値と冗長システム
- 8. 冗長なWHERE句?
- 9. 冗長
- 10. 冗長なステートメントの削除
- 11. AWSの冗長なリクエストログ
- 12. 非常に長いRxイベントチェーン
- 13. Javaの長いテキストファイルの読み込みが非常に遅い
- 14. 無効なメソッド非常に長いテンプレート/ビューのコード長
- 15. 冗長な類似インデックス
- 16. Javaの冗長な2番目のif文for forループ
- 17. "クエリ終了"ステップが非常にランダムな時間に非常に長く
- 18. Crystal Reports - 非常に大規模なデータベース、非常に長い処理時間
- 19. 冗長MySQLインデックス?
- 20. 冗長ジェネリックパラメータは
- 21. HDFS-冗長コピー
- 22. が冗長テンプレートタイプ
- 23. AppFabric冗長性
- 24. MySQL冗長foreginkeys
- 25. 冗長コードチェック
- 26. SCTP冗長INIT_ACK
- 27. クリーンアップに非常に長い文の
- 28. 冗長スイッチケースステートメントのリファクタリング
- 29. どのように非同期javascriptで冗長なコードを避けるには?
- 30. Hibernateは常に冗長クエリを実行しています
これは私が必要とするもののように見えます。 –