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

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

1
Javaは、Mockitoでvoidメソッド呼び出しをn回検証します
DAO内で(void)メソッドが呼び出されていることを確認しようとしています。その時点までの結果のリストを送信し、リストをリセットして続行するコミットポイントを使用しています。リストに4つの項目があり、コミットポイントが1であるとします。「send」メソッドが4回呼び出されることを期待します。次のように記述することで、メソッドが1回呼び出されることを確認できます Mockito.verify(mock).send() 合格ですが、呼び出された回数を確認したいと思います。と思う Mockito.verify(mock.send(), times(4)) 十分ですが、検証するためのパラメーターが正しくないと表示されています。 ちなみに、変更Mockito.verify(mock).send()し Mockito.verify(mock.send())たりMockito.verify((mock).send())同じエラーが出たりした 場合 。これについての考え?

12
JUnitを使用して環境変数に依存するコードをテストする方法は?
環境変数を使用するJavaコードがあり、コードの動作はこの変数の値に依存します。このコードを環境変数のさまざまな値でテストしたいと思います。JUnitでこれを行うにはどうすればよいですか? Javaで環境変数を設定する一般的な方法をいくつか見てきましたが、特にテストが互いに干渉してはならないことを考えると、Javaのユニットテストの側面に関心があります。

3
このランダムな値に50/50ではなく25/75の分布がある理由
編集:基本的に私が書こうとしているのはの1ビットのハッシュですdouble。 私はマッピングするdoubleにtrueまたはfalse50/50チャンスと。そのために、いくつかの乱数を選択するコードを書きました(例として、規則性のあるデータでこれを使用し、それでも50/50の結果を取得したい)、最後のビットをチェックし、y1であるかn、それが0。 ただし、このコードでは常に25%yと75%になりnます。なぜ50/50ではないのですか?そして、なぜこのように奇妙だが単純な(1/3)分布なのか? public class DoubleToBoolean { @Test public void test() { int y = 0; int n = 0; Random r = new Random(); for (int i = 0; i < 1000000; i++) { double randomValue = r.nextDouble(); long lastBit = Double.doubleToLongBits(randomValue) & 1; if (lastBit == 1) { …



3
Cloneableが非推奨にならないのはなぜですか?
CloneableJavaのインターフェースが壊れていることは一般的に理解されています。これには多くの理由がありますが、これについては触れません。他の人はすでにそれをしました。また、Javaアーキテクト自身の立場でもあります。 したがって、私の質問は次のとおりです。なぜまだ非推奨になっていないのですか?コアJavaチームが破損していると判断した場合は、廃止も検討しているはずです。そうすることに対する彼らの理由は何ですか(Java 8ではまだ非推奨ではありません)?


8
Javaリフレクション:変数の名前を取得する方法?
Javaリフレクションを使用して、ローカル変数の名前を取得することは可能ですか?たとえば、私がこれを持っている場合: Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo(); これらの変数の名前を見つけることができるメソッドを実装することは可能ですか? public void baz(Foo... foos) { for (Foo foo: foos) { // Print the name of each foo - b, a, and r System.out.println(***); } } 編集:この質問は異なりますJavaに関数に渡された変数の名前を見つける方法はありますか?それは、リフレクションを使用してローカル変数の名前を決定できるかどうかについての質問をより純粋に尋ねるのに対し、他の質問(受け入れられた回答を含む)は変数の値のテストにより焦点を当てています。
139 java  reflection 

6
文字列を出力ストリームに書き込む
OutputStreamを実装しているいくつかの出力リスナーがあります。これは、標準出力またはファイルに書き込むPrintStreamにすることも、メモリやその他の出力先に書き込むこともできます。したがって、メソッドの引数としてOutputStreamを指定しました。 今、私は文字列を受け取りました。ここでストリームに書き込むための最良の方法は何ですか? Writer.write(message.getBytes())を使用する必要がありますか?バイトを与えることはできますが、宛先ストリームが文字ストリームの場合、自動的に変換されますか? 代わりに、ここでいくつかのブリッジストリームを使用する必要がありますか?
139 java  stream 

30
java.lang.ClassNotFoundException:パス上のクラスが見つかりませんでした:dexpathlist
私は現在、純粋にネイティブのndkを使用する必要があるプロジェクトに取り組んでいます。Irrlichtエンジンのソースからhelloworldの例を実行しようとするとうまくいきました。次に、その例と同じ形式に従ってプロジェクトで使用してみます。しかし、私は得ました: 03-14 01:40:05.308: E/AndroidRuntime(799): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.irrlicht.example1/android.app.POMActivity}: java.lang.ClassNotFoundException: Didn't find class "android.app.POMActivity" on path: DexPathList[[zip file "/data/app/com.irrlicht.example1-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.irrlicht.example1-2, /system/lib]] プロジェクトの実行中。 ここに私のmain.cppファイルがあります: #include <android/log.h> #include <jni.h> #include <android_native_app_glue.h> #include "android_tools.h" #ifdef _IRR_ANDROID_PLATFORM_ void android_main(android_app* app) { __android_log_print(4 , "pom" , "nothing"); } #endif Android.mk: LOCAL_PATH := $(call my-dir)/.. IRRLICHT_PROJECT_PATH …
139 java  android  c++  android-ndk 


28
「catch」または「finally」のスコープの「try」で変数が宣言されないのはなぜですか?
C#およびJava(およびその他の言語も)では、「try」ブロックで宣言された変数は、対応する「catch」または「finally」ブロックのスコープにはありません。たとえば、次のコードはコンパイルされません。 try { String s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java fans: think "System.out.println" here instead } このコードでは、sはtryブロックのスコープ内にのみ存在するため、catchブロックのsへの参照でコンパイル時エラーが発生します。(Javaでは、コンパイルエラーは「sは解決できません」です。C#では、「名前 's'は現在のコンテキストに存在しません」です。) この問題の一般的な解決策は、tryブロック内ではなく、tryブロックの直前に変数を宣言することです。 String s; try { s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java fans: think "System.out.println" here instead } ただし、少なくとも私にとっては、(1)これは不格好なソリューションのように感じられ、(2)プログラマーが意図したよりもスコープが広い変数になります(メソッドのコンテキストのみではなく、メソッドの残り全体) try-catch-finally)。 私の質問は、この言語設計の決定の背後にある根拠は何でしたか(Java、C#、および/または他の該当する言語で)?


6
Javaで<T>(山かっこ)はどういう意味ですか?
私は現在Javaを勉強しており、最近山括弧(&lt;&gt;)に悩まされています。正確にはどういう意味ですか? public class Pool&lt;T&gt;{ public interface PoolFactory&lt;T&gt;{ public T createObject(); } this.freeObjects = new ArrayList&lt;T&gt;(maxsize) } どういう&lt;T&gt;意味ですか?タイプのオブジェクトを作成できるということTですか?
139 java  generics 

8
Javaの変数のメモリアドレス
下の写真をご覧ください。newキーワードを使用してJavaでオブジェクトを作成すると、OSからメモリアドレスが取得されます。 書くout.println(objName)と、「特別な」文字列が出力として表示されます。私の質問は: この出力は何ですか? OSから提供されたメモリアドレスの場合: a)この文字列をバイナリに変換するにはどうすればよいですか? b)整数変数のアドレスを1つ取得するにはどうすればよいですか?

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