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

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

1
.NETのjava.lang.IllegalStateException?
java.lang.IllegalStateExceptionJavaドキュメントからの説明: メソッドが違法または不適切な時間に呼び出されたことを通知します。つまり、Java環境またはJavaアプリケーションは、要求された操作に対して適切な状態ではありません。 IllegalStateException.NET-Frameworkに相当するものはありますか?
84 java  .net  exception 

8
クラスの前のJUnit(非静的)
Junitにテストファイルで関数を1回実行させるためのベストプラクティスはありますか?また、静的であってはなりません。 @BeforeClass非静的関数のように? これが醜い解決策です: @Before void init(){ if (init.get() == false){ init.set(true); // do once block } } これは私がやりたくないことであり、統合されたjunitソリューションを探しています。
84 java  junit 

9
GsonでJSON配列を解析する方法
JSON配列を解析してgsonを使用したいと思います。まず、JSON出力をログに記録できます。サーバーはクライアントに明確に応答しています。 これが私のJSON出力です: [ { id : '1', title: 'sample title', .... }, { id : '2', title: 'sample title', .... }, ... ] この構造を解析に試しました。単一arrayおよびArrayListすべてのJSONArrayに依存するクラス。 public class PostEntity { private ArrayList<Post> postList = new ArrayList<Post>(); public List<Post> getPostList() { return postList; } public void setPostList(List<Post> postList) { this.postList = (ArrayList<Post>)postList; } …
84 java  android  arrays  json  gson 

12
Javaで相対パスを使用してリソースを開く
私のJavaアプリでは、いくつかのファイルとディレクトリを取得する必要があります。 これはプログラム構造です: ./main.java ./package1/guiclass.java ./package1/resources/resourcesloader.java ./package1/resources/repository/modules/ -> this is the dir I need to get ./package1/resources/repository/SSL-Key/cert.jks -> this is the file I need to get guiclass リソース(ディレクトリとファイル)をロードするresourcesloaderクラスをロードします。 ファイルに関しては、私は試しました resourcesloader.class.getClass().getResource("repository/SSL-Key/cert.jks").toString() 実際のパスを取得するためですが、この方法は機能しません。 ディレクトリの作り方がわかりません。

6
BigIntegerの.isProbablePrime()の可能なユースケースは何ですか?
その方法BigInteger.isProbablePrime()はかなり奇妙です。ドキュメントから、これは、数値が確率で素数であるかどうかを示します。1 - 1 / 2^argここargで、は整数引数です。 それはかなり長い間JDKに存在していたので、それはそれが用途を持っているに違いないことを意味します。コンピュータサイエンスとアルゴリズム(および数学)に関する私の限られた知識は、数が「おそらく」素数であるかどうかを知ることは実際には意味がないが、正確には素数ではないことを教えてくれます。 それで、この方法を使用したいと思う可能性のあるシナリオは何ですか?暗号化?
84 java  primes 

18
Javaの真のソリューション:2つの文字列から2つの数値を解析し、それらの合計を返します
かなり愚かな質問です。与えられたコード: public static int sum(String a, String b) /* throws? WHAT? */ { int x = Integer.parseInt(a); // throws NumberFormatException int y = Integer.parseInt(b); // throws NumberFormatException return x + y; } それが良いJavaかどうかわかりますか?私が話しているのNumberFormatExceptionは、チェックされていない例外です。署名の一部として指定する必要はありませんsum()。さらに、私が理解している限り、チェックされていない例外の概念は、プログラムの実装が正しくないことを示すだけであり、さらに、チェックされていない例外をキャッチすることは、実行時に不良プログラムを修正するようなものであるため、悪い考えです。 誰かが次のことを明確にしてください: NumberFormatExceptionメソッドのシグネチャの一部として指定する必要があります。 独自のチェック済み例外(BadDataException)を定義し、NumberFormatExceptionメソッド内で処理して、として再スローする必要がありBadDataExceptionます。 独自のチェック済み例外(BadDataException)を定義し、正規表現のように両方の文字列を検証BadDataExceptionし、一致しない場合はスローする必要があります。 あなたの案? 更新: 想像してみてください。何らかの理由で使用する必要があるのはオープンソースフレームワークではありません。メソッドのシグネチャを見て、「OK、スローされることはない」と考えます。その後、ある日、例外が発生しました。正常ですか? アップデート2: 私sum(String, String)は悪いデザインだというコメントがいくつかあります。私は絶対に同意しますが、私たちが良いデザインを持っていれば元の問題は決して現れないと信じている人のために、ここに追加の質問があります: 問題の定義は次のようになりますString。数値がsとして格納されるデータソースがあります。このソースは、XMLファイル、Webページ、2つの編集ボックスを備えたデスクトップウィンドウなどです。 あなたの目標は、これらの2を取りString、それらをintsに変換し、「合計はxxxです」というメッセージボックスを表示するロジックを実装することです。 これを設計/実装するために使用するアプローチが何であれ、内部機能の次の2つのポイントがあります。 あなたが変換する場所Stringにint 2int秒追加する場所 私の元の投稿の主な質問は次のとおりです。 Integer.parseInt()正しい文字列が渡されることを期待します。悪い文字列を渡すときはいつでも、それはあなたのプログラムが正しくないことを意味します(「あなたのユーザーはばかです」ではありません)。一方でMUSTセマンティクスを持つInteger.parseInt()があり、他方で入力が正しくない場合に問題がない必要があるコードを実装する必要があります-SHOULDセマンティクス。 …

7
java.util.loggingをlog4jに送信する方法は?
log4jに対してすべてのロギングを行う既存のアプリケーションがあります。log4jを使用するか、Commons Loggingに対してログを記録する他の多くのライブラリを使用します。これにより、環境の内部でlog4jが使用されることになります。依存関係の1つは、slf4jに対してもログを記録します。これは、最終的にはlog4jにも委任されるため、正常に機能します。 ここで、キャッシュのニーズに応じて、このアプリケーションにehcacheを追加したいと思います。以前のバージョンのehcacheはcommons-loggingを使用していましたが、これはこのシナリオでは完全に機能していましたが、バージョン1.6-beta1では、commons-loggingへの依存関係が削除され、代わりにjava.util.loggingに置き換えられました。 java.util.loggingで利用できる組み込みのJDKロギングにあまり詳しくないので、JULに送信されたログメッセージをlog4jに対してログに記録する簡単な方法があるので、既存の構成を使用して、今後のロギング用にセットアップできます。 ehcacheから? JULのjavadocsを見ると、LogManager使用する実装を変更するために一連の環境変数を設定し、おそらくそれを使用してlog4jをLoggerJULLoggerクラスでラップできるようです。これは正しいアプローチですか? 皮肉なことに、ライブラリで組み込みのJDKロギングを使用すると、世界の他の地域(ほとんど)が代わりにサードパーティのライブラリを使用している場合に、このような頭痛の種が発生します。

5
原因:java.security.UnrecoverableKeyException:キーを回復できません
ABCC_client.storeという名前のjksキーストアが提供されています。このキーストアをcacertsにインポートして接続しようとすると、「そのようなアルゴリズムエラーはありません」と表示されます。PFAスタックトレース Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl) at java.security.Provider$Service.newInstance(Provider.java:1245) at sun.security.jca.GetInstance.getInstance(GetInstance.java:220) at sun.security.jca.GetInstance.getInstance(GetInstance.java:147) at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125) at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68) at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102) at org.apache.axis.components.net.JSSESocketFactory.initFactory(JSSESocketFactory.java:61) at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:79) ... 32 more Caused by: java.security.UnrecoverableKeyException: Cannot recover key at sun.security.provider.KeyProtector.recover(KeyProtector.java:311) at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121) at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38) at java.security.KeyStore.getKey(KeyStore.java:763) at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113) at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48) …

9
Android:context.getDrawable()の代替
私はcontext.getDrawable()私のプロジェクトでこのように使用しました: Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen); しかし、Eclipseは私にそれが必要であるというエラーを与えていますMinimum API level of 21。これは、グーグルですばやく検索した後、私のアプリはでのみ使用できることを意味しAndroid 5.0ます。すべてのデバイスがこのバージョンのAndroidを使用しているわけではないので、の代替手段が必要context.getDrawable()です。




3
ScalaトレイトとJava8インターフェースの違いと類似点は何ですか?
私はScalaに不慣れで、楽しみのために言語を学び始めましたが、それでも頭を悩ませようとしています。Scalaの特性についての私の理解は、いくつかのメソッドが実装を持つことができることを除いて、それらはJavaインターフェースに似ているということです。 Java 8は、実装を提供できるデフォルトのメソッドを持つことができるインターフェースを追加しています。 Java 8インターフェースとScalaトレイトの類似点と相違点は何ですか?
84 java  scala 

5
JPAとSpringJdbcTemplate [クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 10か月前に閉鎖されました。 この質問を改善する 新しいプロジェクトの場合、JPAは常にリレーショナルデータを処理するための推奨ツールですか、それともSpring JdbcTemplateがより良い選択であるシナリオはありますか?回答で考慮すべきいくつかの要因: 新しいデータベーススキーマと既存のスキーマおよびテーブル 開発者の専門知識のレベル データキャッシングレイヤーとの統合が容易 パフォーマンス 考慮すべき他の関連要因はありますか?

10
Intent.FLAG_ACTIVITY_CLEAR_TOPをどのように使用してアクティビティスタックをクリアしますか?
私はこれの使用についていくつかの投稿を読みましたが、それが私のために機能していないので何かが欠けているに違いありません。私のアクティビティAのマニフェストにはlaunchmode = "singleTop"があります。アクティビティBをlaunchmode = "singleInstance"で開始します。アクティビティBはブラウザを開き、受信してインテントバックします。これがsingleInstanceである理由です。ユーザーがアクティビティAに戻されるように、戻るボタンをオーバーライドしようとしています。その後、アクティビティBに戻るのではなく、戻るを押してアクティビティを終了できます。 // activity B @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) onBackPressed(); return super.onKeyDown(keyCode, event); } @Override public void onBackPressed() { startActivity(new Intent(this, UI.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)); return; } ブラウザから戻った後、スタックは... A、B、Browser、B このコードによってスタックが... A …

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