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

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

20
ArrayListから要素を反復して削除するときにjava.util.ConcurrentModificationExceptionを回避する方法
繰り返し処理したいArrayListがあります。それを繰り返しながら、同時に要素を削除する必要があります。明らかにこれはをスローしjava.util.ConcurrentModificationExceptionます。 この問題を処理するためのベストプラクティスは何ですか?最初にリストを複製する必要がありますか? ループ自体ではなく、コードの別の部分の要素を削除します。 私のコードは次のようになります: public class Test() { private ArrayList<A> abc = new ArrayList<A>(); public void doStuff() { for (A a : abc) a.doSomething(); } public void removeA(A a) { abc.remove(a); } } a.doSomething呼び出すかもしれませんTest.removeA()。
203 java  arraylist  foreach 

12
スイッチでnullを使用する方法
Integer i = ... switch (i){ case null: doSomething0(); break; } 上記のコードでは、switch caseステートメントでnullを使用できません。どうすればこれを別の方法で実行できますか?他のことdefaultをしたいので使えません。

7
java.util.Randomとjava.security.SecureRandomの違い
私のチームはランダムトークンを生成するサーバー側のコード(Javaで)を渡されましたが、それについて質問があります- これらのトークンの目的はかなり機密性が高く、セッションID、パスワードリセットリンクなどに使用されます。したがって、誰かがトークンを推測したり、ブルートフォースで実行したりしないように、暗号的にランダムにする必要があります。トークンは「長い」ため、64ビット長です。 コードは現在、java.util.Randomクラスを使用してこれらのトークンを生成しています。ドキュメントのためのjava.util.Random明確では次のように述べています: java.util.Randomのインスタンスは暗号的に安全ではありません。代わりにSecureRandomを使用して、セキュリティ上重要なアプリケーションで使用するための暗号的に安全な疑似乱数ジェネレータを取得することを検討してください。 ただし、コードが現在使用している方法java.util.Randomはこれです。クラスをインスタンス化java.security.SecureRandomし、SecureRandom.nextLong()メソッドを使用して、java.util.Randomクラスのインスタンス化に使用されるシードを取得します。次に、java.util.Random.nextLong()メソッドを使用してトークンを生成します。 だから今私の質問-がjava.util.Random使用してシードされていることを考えると、それはまだ安全java.security.SecureRandomですか?java.security.SecureRandomトークンの生成にのみ使用するようにコードを変更する必要がありますか? 現在、コードシードRandomは起動時に1回です

8
java.util.Randomは本当にランダムですか?どうすれば52を生成できますか?(階乗)可能なシーケンス?
私Random (java.util.Random)は52枚のカードのデッキをシャッフルするために使用しています。52があります!(8.0658175e + 67)可能性。しかし、私はその種がjava.util.Randomはでありlong、2 ^ 64(1.8446744e + 19)ではるかに小さい。 ここから、私は疑わしい java.util.Random は本当にランダムである。52をすべて生成できるのでしょうか。可能性? そうでない場合、52をすべて生成できるより良いランダムシーケンスを確実に生成するにはどうすればよいでしょうか。可能性?


14
カンマ区切りの文字列を分割する方法は?
長さが不明なこのような文字列があります "dog, cat, bear, elephant, ..., giraffe" この文字列をコンマで区切るための最適な方法は何ですか?各単語がArrayListの要素になることができますか? 例えば List<String> strings = new ArrayList<Strings>(); // Add the data here so strings.get(0) would be equal to "dog", // strings.get(1) would be equal to "cat" and so forth.
202 java  string  split 


5
Mockitoモックオブジェクトに、次に呼び出されたときに別のオブジェクトを返すように指示するにはどうすればよいですか?
だから、私はモックオブジェクトをクラスレベルで静的変数として作成しています...あるテストでFoo.someMethod()は特定の値を返し、別のテストでは別の値を返します。私が抱えている問題は、これを正しく機能させるためにモックを再構築する必要があるようだということです。モックの再構築を避け、各テストで同じオブジェクトを使用するだけです。 class TestClass { private static Foo mockFoo; @BeforeClass public static void setUp() { mockFoo = mock(Foo.class); } @Test public void test1() { when(mockFoo.someMethod()).thenReturn(0); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls mockFoo.someMethod(), receiving 0 as the value } @Test public void test2() { when(mockFoo.someMethod()).thenReturn(1); TestObject testObj = new TestObject(mockFoo); …

14
doubleを文字列に変換する
それが私かどうかはわかりませんが、doubleを文字列に変換するときに問題が発生しています。 これが私のコードです: double total = 44; String total2 = Double.toString(total); 私は何か間違ったことをしているのですか、ここのステップが欠けていますか? NumberFormatExceptionこれを変換しようとするとエラーが発生します。 totalCost.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { try { double priceG = Double.parseDouble(priceGal.getText().toString()); double valG = Double.parseDouble(volGal.toString()); double total = priceG * valG; String tot = new Double(total).toString(); totalCost.setText(tot); } catch(Exception e) { Log.e("text", e.toString()); …
202 java  android 

30
IntelliJ IDEAでLombokを使用している場合、プロジェクトをコンパイルできません
IntelliJ IDEA 11を使用して開発しているプロジェクトでLombokを使用しようとしています。 IDEAのサードパーティプラグインをインストールしましたが、IDEAはすべての自動生成されたメソッド/フィールドを表示するため、問題なく動作しているようです。 だから私はSlf4jを使用するクラスがあります。このように注釈を付けました import lombok.extern.slf4j.Slf4j; @Slf4j public class TestClass { public TestClass() { log.info("Hello!"); } } しかし、プロジェクトコンパイラを作成すると、次のようになりcannot find symbol variable logます。 ここで何が欠けているか教えていただけますか? 更新: RequestFactoryアノテーションプロセスが失敗したことが判明しました。 input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject} annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave] Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false. cannot …

6
毎日の春のcron式1:01:am
Spring cron式に基づいて、コードを一定のスケジュールで実行しようとしています。毎日1:01:amにコードを実行してほしい。次の式を試してみましたが、気になりませんでした。ここの構文の何が問題になっていますか? @Scheduled(cron = "0 1 1 ? * *") public void resetCache() { // ... }




9
gwtコンパイラを高速化するにはどうすればよいですか?
プロジェクトでGWTをより多く使用するようになり、GWTコンパイラーのパフォーマンスはますます煩わしくなっています。 ホストモードのブラウザーに重点を置き、後でGWTコンパイラーを実行する必要性を延期するなど、問題を軽減するために作業手順を変更し始めますが、これには独自のリスク、特に実際のブラウザの問題をキャッチするのは、私たちが望むよりもずっと遅くなります。 理想的には、GWTコンパイラー自体をより速くしたいのですが、かなり小さなアプリケーションをコンパイルするのに1分かかるのです。しかし、私はかなりナイーブな方法でコンパイルを使用しているので、いくつかの迅速かつ簡単な利益を得ることができると期待しています。 現在、ant。Antターゲットから、最大256mのヒープと大量のスタックスペースを持つJavaアプリケーションとしてcom.google.gwt.dev.Compilerを呼び出しています。コンパイラーはAntによってfork = trueと最新のJava 6 JREを使用して起動され、Java6の改善されたパフォーマンスを利用しようとします。メインのコントローラークラスをアプリケーションのクラスパスと一緒にコンパイラーに渡します。 速度を上げるために他に何ができますか?より多くの情報を提供して、何をすべきかを発見する時間を短縮できるでしょうか? 1つのブラウザーでのみコンパイルするように指示できることはわかっていますが、マルチブラウザーテストを実行する必要があるため、実際的ではありません。 この時点ですべての提案を歓迎します。
201 java  performance  gwt 

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