タグ付けされた質問 「java」

Javaは人気のある高水準プログラミング言語です。言語自体の使用または理解に問題がある場合は、このタグを使用してください。このタグが単独で使用されることはめったになく、[spring]、[spring-boot]、[jakarta-ee]、[android]、[javafx]、[gradle]、および[maven]と組み合わせて使用​​されることがほとんどです。

6
Double.MIN_VALUEが負でないのはなぜですか
誰もがその理由についていくつかの光を当てることができますか Double.MIN_VALUE実際にダブルスが取ることができる最小値ではないを明らかにすることはできますか?これは正の値であり、Doubleはもちろん負の値でもかまいません。 なぜそれが便利な数字なのかは理解できますが、特にと比較すると、非常に直感的でない名前のようInteger.MIN_VALUEです。それDouble.SMALLEST_POSITIVEまたはMIN_INCREMENT類似のものを呼び出すと、より明確なセマンティクスが得られます。 また、ダブルスが取ることができる最小値は何ですか?ですよ-Double.MAX_VALUEね?ドキュメントは言っていないようです。

14
「ソフトウェアによる接続アボート:ソケット書き込みエラー」の正式な理由
このスタックトレーススニペットを考える 原因:java.net.SocketException:ソフトウェアが接続を中止しました: java.net.SocketOutputStream.socketWrite0(Native Method)でのソケット書き込みエラー 私は次の質問に答えようとしました: この例外をスローしているコードは何ですか?(JVM?/ Tomcat?/ My code?) この例外がスローされる原因は何ですか? #1について: SunのJVMソースにはこの正確なメッセージは含まれていませんが、「ソフトウェアによって接続が中止されました」というテキストが表示されると思います。ソケットの書き込みエラーは、SocketOutputStream。 private native void socketWrite0(FileDescriptor fd, byte[] b, int off, int len) throws IOException; #2について 私の推測では、完全な応答を取得する前にクライアントが接続を終了したときに発生します(たとえば、要求を送信したが、完全な応答を取得する前に、閉じられた/終了した/オフラインになった)。 質問: 上記の仮定は正しいですか(#1および#2)? これは「サーバー側のネットワークエラーのため、クライアントに書き込むことができませんでした」という状況と区別できますか?それとも同じエラーメッセージが表示されますか? そして最も重要なこと:上記について述べた公式文書(Sunなど)はありますか? このスタックトレースがソケットクライアントの「障害」であることを証明する必要があります。サーバーがそれを回避するためにできることは何もありません。(例外のキャッチ、またはSun JVM以外のSocketOutputStreamの使用を除いて、どちらもクライアントが終了したという事実を実際には回避しません)



12
CamelCaseをJavaで判読可能な名前に変換するにはどうすればよいですか?
CamelCaseを人間が読める名前に変換するメソッドを書きたいのですが。 ここにテストケースがあります: public void testSplitCamelCase() { assertEquals("lowercase", splitCamelCase("lowercase")); assertEquals("Class", splitCamelCase("Class")); assertEquals("My Class", splitCamelCase("MyClass")); assertEquals("HTML", splitCamelCase("HTML")); assertEquals("PDF Loader", splitCamelCase("PDFLoader")); assertEquals("A String", splitCamelCase("AString")); assertEquals("Simple XML Parser", splitCamelCase("SimpleXMLParser")); assertEquals("GL 11 Version", splitCamelCase("GL11Version")); }

17
nullセーフなcompareTo()実装を単純化する方法は?
compareTo()このような単純なクラスのメソッドを実装しています(Collections.sort()Javaプラットフォームが提供するその他の便利な機能を使用できるようにするため)。 public class Metadata implements Comparable<Metadata> { private String name; private String value; // Imagine basic constructor and accessors here // Irrelevant parts omitted } 私が欲しい自然順序付け名前が同じである場合の値でソート)の名前と2でソート)1;:これらのオブジェクトのためにあることを どちらの比較でも、大文字と小文字は区別されません。どちらのフィールドでも、null値は完全に許容されるためcompareTo、これらの場合に壊れてはなりません。 頭に浮かぶ解決策は、次のようなものです(ここでは「ガード句」を使用していますが、他の人は単一の戻り点を好むかもしれませんが、それは重要ではありません)。 // primarily by name, secondarily by value; null-safe; case-insensitive public int compareTo(Metadata other) { if (this.name == null && other.name != null){ …

22
Javaで1200から1.2kにフォーマットする方法
以下の数値をJavaでそれらの隣の数値にフォーマットしたいと思います。 1000 to 1k 5821 to 5.8k 10500 to 10k 101800 to 101k 2000000 to 2m 7800000 to 7.8m 92150000 to 92m 123200000 to 123m 右側の数字は長いか整数で、左側の数字は文字列になります。私はこれにどのように取り組むべきですか?私はすでにこれのためにほとんどアルゴリズムをしていませんでしたが、それでより良い仕事をする何かがすでに発明されているかもしれないと思いました、そして私が数十億と数兆を扱い始めれば追加のテストを必要としません:) 追加要件: 形式は最大4文字にする必要があります 上記の意味は、1.1kは大丈夫です11.2kは大丈夫ではありません。同じ7.8mは問題ありません19.1mは問題ありません。小数点を持つことができるのは、小数点の前の1桁のみです。小数点の前の2桁は、小数点の後の数字ではないことを意味します。 丸めは必要ありません。(kとmが追加されて表示される数値は、正確なロジックの記事ではなく、近似を示すアナログゲージの数値です。したがって、主に変数の性質により、キャッシュされた結果を見ているときにも数桁が増減する可能性があるため、丸めは無関係です。)

6
Javaラムダは複数のパラメーターを持つことができますか?
Javaでは、ラムダに複数の異なる型を受け入れることは可能ですか? つまり、単一の変数が機能します。 Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargsも機能します。 Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum += i; } return sum; }; //.... System.out.println ((multiAdder.apply (new Integer [] { 1, …
157 java  lambda  java-8 

4
BigDecimal equals()とcompareTo()
簡単なテストクラスを考えてみましょう: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? "true": "false"); } } …

16
Javaでワイルドカード文字列に一致するファイルを見つける方法は?
これは本当に簡単なはずです。このような文字列がある場合: ../Test?/sample*.txt 次に、このパターンに一致するファイルのリストを取得するために一般的に受け入れられている方法は何ですか?(たとえば、一致する必要が../Test1/sample22b.txtあります../Test4/sample-spiffy.txtが、一致しない../Test3/sample2.blah必要があります../Test44/sample2.txt) 私は見ましたがorg.apache.commons.io.filefilter.WildcardFileFilter、それは正しい獣のようですが、相対ディレクトリパスでファイルを見つけるためにそれを使用する方法がわかりません。 ワイルドカード構文を使用しているので、antのソースを調べることができると思いますが、ここではかなり明白なものが欠落しているに違いありません。 (編集:上記の例は単なるサンプルケースです。実行時にワイルドカードを含む一般的なパスを解析する方法を探しています。mmyersの提案に基づいてそれを行う方法を理解しましたが、それは一種の煩わしいことです。 Java JREは、main(String []引数)の単純なワイルドカードを単一の引数から自動解析して時間と手間を「節約」するようです...にファイル以外の引数がなかったことをうれしく思いますミックス。)
157 java  file  wildcard 

9
JavaからKotlin拡張機能へのアクセス
Javaコードから拡張機能にアクセスできますか? Kotlinファイルで拡張関数を定義しました。 package com.test.extensions import com.test.model.MyModel /** * */ public fun MyModel.bar(): Int { return this.name.length() } MyModel(生成された)Javaクラスはどこにありますか?今、私は私の通常のJavaコードでそれにアクセスしたかった: MyModel model = new MyModel(); model.bar(); ただし、それは機能しません。IDEはbar()メソッドを認識せず、コンパイルは失敗します。 機能するのは、kotlinの静的関数を使用することです。 public fun bar(): Int { return 2*2 } import com.test.extensions.ExtensionsPackage私のIDEが正しく構成されているように使用することによって。 kotlinドキュメントからJava-interopファイル全体を検索し、多くのグーグル検索を行いましたが、見つかりませんでした。 何が悪いのですか?これは可能ですか?

7
スタックでDequeを使用する必要があるのはなぜですか?
Stackユースケースのデータ構造が必要です。アイテムをデータ構造にプッシュでき、スタックから最後のアイテムのみを取得したいのですが。StackのJavaDocはこう言っています: Dequeインターフェースとその実装によって、より完全で一貫性のあるLIFOスタック操作のセットが提供されます。これは、このクラスよりも優先して使用する必要があります。例えば: Deque<Integer> stack = new ArrayDeque<>(); このデータ構造をメソッドにローカルで使用するため、ここでは同期動作は絶対に必要ありません。これとは別に、なぜ私DequeはStackここより好むのですか? PS:Dequeのjavadocによると: 両端キューは、LIFO(後入れ先出し)スタックとしても使用できます。このインターフェイスは、従来のStackクラスよりも優先して使用する必要があります。

10
このスレッド結合コードはどういう意味ですか?
このコードでは、2つのjoinとbreakはどういう意味ですか?t1.join()原因となるt2まで停止するようにt1終了? Thread t1 = new Thread(new EventThread("e1")); t1.start(); Thread t2 = new Thread(new EventThread("e2")); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }

7
ActionBarSherlockとActionBarの互換性の違い
ActionBarSherlockとAction Barの互換性の違いは何ですか 数日前、GoogleはActionBar互換性をリリースしました。アクションバーの互換性はActionBarSherlockと同じように機能し、コーディングは同じですか? 例:「上」に移動するアプリアイコンまたはActionBar.Tabはアクションバーの互換性でサポートされていますか?

9
FileInputStreamを使用する場合、どのようにして理想的なバッファサイズを決定しますか?
ファイルからMessageDigest(ハッシュ)を作成するメソッドがあり、これを多数のファイル(> = 100,000)に対して実行する必要があります。パフォーマンスを最大化するには、ファイルからの読み取りに使用するバッファーをどのくらい大きくする必要がありますか? ほとんどの人は基本的なコードに慣れています(念のためここで繰り返します)。 MessageDigest md = MessageDigest.getInstance( "SHA" ); FileInputStream ios = new FileInputStream( "myfile.bmp" ); byte[] buffer = new byte[4 * 1024]; // what should this value be? int read = 0; while( ( read = ios.read( buffer ) ) > 0 ) md.update( buffer, 0, read ); …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.