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

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

15
インターフェースのメソッド実装を@オーバーライドする必要がありますか?
インターフェイスメソッドを実装するメソッドに注釈を付ける必要があり@Overrideますか? javadocのOverride注釈は言います: メソッド宣言がスーパークラスのメソッド宣言をオーバーライドすることを目的としていることを示します。メソッドにこのアノテーションタイプでアノテーションが付けられているが、スーパークラスメソッドをオーバーライドしない場合、コンパイラーはエラーメッセージを生成する必要があります。 インターフェイスは厳密にはスーパークラスだとは思いません。またはそれは? Question Elaboration

4
@ Before、@ BeforeClass、@ BeforeEach、@ BeforeAllの違い
主な違いは何ですか @Before そして @BeforeClass そしてJUnit 5 @BeforeEachと@BeforeAll @After そして @AfterClass JUnitに よると、Api@Beforeは次の場合に使用されます。 テストを作成する場合、いくつかのテストを実行するには、類似のオブジェクトを作成する必要があることがよくあります。 一方@BeforeClass、データベース接続を確立するために使用できます。しかし@Before、同じことを行うことができませんでしたか?


11
JUnitがassertNotEqualsメソッドを提供しないのはなぜですか?
JUnit 4 assertEquals(foo,bar)がassertNotEqual(foo,bar)メソッドを提供せずに提供する理由を誰かが知っていますか? それが提供するassertNotSame(に相当assertSame)とassertFalse(に相当assertTrue)、彼らが含めて気にしなかったことを奇妙に思えますassertNotEqual。 ところで、JUnit-addonsが私が探しているメソッドを提供していることは知っています。好奇心から求めているだけです。
429 java  junit  assert 


22
javax.net.ssl.SSLHandshakeExceptionの解決:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しましたエラー?
編集:-私のブログで質問と受け入れられた回答をより見やすい方法でフォーマットしようとしました これが元の問題です。 このエラーが発生しています: 詳細メッセージsun.security.validator.ValidatorException:PKIXパスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません 原因javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません Tomcat 6をWebサーバーとして使用しています。2つのHTTPS Webアプリケーションが異なるTomcatの異なるポートにインストールされていますが、同じマシン上にあります。言ってやるApp1(port 8443)と App2(port 443)。App1に接続しApp2ます。にApp1接続するApp2と、上記のエラーが発生します。これは非常に一般的なエラーであるため、さまざまなフォーラムやサイトで多くの解決策を見つけました。私はserver.xml両方のTomcatの以下のエントリを持っています: keystoreFile="c:/.keystore" keystorePass="changeit" すべてのサイトが、app2によって提供された証明書がapp1 jvmの信頼できるストアにないという同じ理由を述べています。これは、IEブラウザーで同じURLにアクセスしようとしたときにも当てはまるようです。これは機能します(温暖化により、このWebサイトのセキュリティ証明書に問題があります。ここでは、このWebサイトに進みます)。しかし、同じURLがJavaクライアントによってヒットされると(私の場合)、上記のエラーが発生します。したがって、トラストストアに配置するために、次の3つのオプションを試しました。 オプション1 System.setProperty("javax.net.ssl.trustStore", "C:/.keystore"); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); Option2 環境変数の以下の設定 CATALINA_OPTS -- param name -Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value Option3 環境変数の以下の設定 JAVA_OPTS -- param name -Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value しかし、何もうまくいきませんでした。 「Apache HttpClientを使用して無効なSSL証明書を処理 する方法」で提案されているJavaアプローチを実行すると、最終的に何が機能しますか?Pascal Thiventによって、つまりプログラムInstallCertを実行します。 しかし、このアプローチはdevboxのセットアップには問題ありませんが、実稼働環境では使用できません。 3つのアプローチは、上記の理由を私は疑問に思って私は同じ値を記載している時に仕事をしませんでしたserver.xmlのapp2設定でトラストストアに、サーバーと同じ値 System.setProperty("javax.net.ssl.trustStore", "C:/.keystore") …
426 java  ssl  https 


19
Iterableをコレクションに変換する簡単な方法
私のアプリケーションでは、サードパーティのライブラリを使用しています(正確には、MongoDBの春のデータ)。 このライブラリのメソッドは戻りますがIterable<T>、残りのコードは期待していCollection<T>ます。 すぐに一方をもう一方に変換できるユーティリティメソッドはありますか?foreachこのような単純なことのために、コード内に多数のループを作成することは避けたいと思います。
424 java  collections 


30
「PKIXパスの構築に失敗しました」および「要求されたターゲットへの有効な証明書パスが見つかりません」
私のJavaプロジェクトのtwitter4jライブラリを使用してツイートを取得しようとしています。最初の実行時に、証明書sun.security.validator.ValidatorExceptionとに関するエラーが発生しましたsun.security.provider.certpath.SunCertPathBuilderException。次に、Twitter証明書を追加しました。 C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PathToCert -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts" しかし成功せず。ツイートを取得する手順は次のとおりです。 public static void main(String[] args) throws TwitterException { ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setOAuthConsumerKey("myConsumerKey") .setOAuthConsumerSecret("myConsumerSecret") .setOAuthAccessToken("myAccessToken") .setOAuthAccessTokenSecret("myAccessTokenSecret"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); try { Query query = new Query("iphone"); QueryResult result; result …
423 java  jsp  servlets  twitter4j 

17
StringBuilderの最後の文字を削除しますか?
コレクションをループして、区切り文字で区切られた各データの文字列を作成する必要がある場合、常に最後に余分な区切り文字が必要になります。たとえば、 for (String serverId : serverIds) { sb.append(serverId); sb.append(","); } のようなものを与えます:serverId_1、serverId_2、serverId_3、 StringBuilderの最後の文字を削除したいと思います(このループの後も必要なので、変換せずに)。

18
Windows 7でjava_homeを設定する方法
コントロールパネルの[システム]の[環境変数]に移動して、2つの新しい変数を作成しました。1つはユーザー変数用、もう1つはシステム変数用です。どちらもJAVA_HOMEという名前で、どちらも指す C:\ Sun \ SDK \ jdk \ bin しかし、何らかの理由で、Javaコマンドを実行すると、以下のエラーが表示されます... BUILD FAILED C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error occurred while executing this line: C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line: C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation Total time: 1 second C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml Unable to locate tools.jar. Expected …

29
文字列からHTMLタグを削除する
Java文字列からHTMLを削除する良い方法はありますか?のような単純な正規表現 replaceAll("\\<.*?>","") は機能し&ますが、正しく変換されず、2つの山括弧の間の非HTMLは削除されます(つまり.*?、正規表現内のは表示されなくなります)。
422 java  html  parsing 

4
完璧なJPAエンティティを作成する[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 私はしばらくの間JPA(実装Hibernate)を使用しており、エンティティを作成する必要があるたびに、AccessType、不変のプロパティ、equals / hashCodeなどの問題に悩まされています。 そこで、私は各問題の一般的なベストプラクティスを見つけ出して、個人用に書き留めることにしました。 しかし、誰かがそれについてコメントしたり、どこが間違っているかを教えたりしても構わないと思います。 エンティティークラス Serializableを実装する 理由:仕様では、そうする必要があると記載されていますが、一部のJPAプロバイダーはこれを強制していません。JPAプロバイダーとしてのHibernateはこれを強制しませんが、Serializableが実装されていない場合は、ClassCastExceptionで胃のどこかで失敗する可能性があります。 コンストラクタ エンティティのすべての必須フィールドを持つコンストラクタを作成します 理由:コンストラクターは、作成されたインスタンスを常に正常な状態にしておく必要があります。 このコンストラクターのほかに、パッケージのプライベートデフォルトコンストラクターがある 理由:Hibernateでエンティティを初期化するには、デフォルトのコンストラクターが必要です。プライベートは許可されますが、ランタイムプロキシの生成とバイトコードインスツルメンテーションなしの効率的なデータ取得には、パッケージプライベート(またはパブリック)の可視性が必要です。 フィールド/プロパティ 一般的にフィールドアクセスを使用し、必要に応じてプロパティアクセスを使用する 理由:どちらか一方について明確で説得力のある引数がないため、これはおそらく最も議論の余地のある問題です(プロパティアクセスとフィールドアクセス)。ただし、フィールドアクセスは、より明確なコード、より良いカプセル化、および不変フィールドのセッターを作成する必要がないため、一般的に好まれているようです 不変フィールドのセッターを省略(アクセスタイプフィールドには不要) プロパティはプライベートである可能性があります 理由:以前は(Hibernate)パフォーマンスの方がprotectedの方が優れていると聞きましたが、Webで見つけることができるのは:Hibernateがpublic、private、protectedのアクセサーメソッド、およびpublic、private、protectedフィールドに直接アクセスできることです。選択はあなた次第であり、アプリケーション設計に合うようにそれを一致させることができます。 Equals / hashCode エンティティを永続化するときにのみこのIDが設定されている場合は、生成されたIDを使用しないでください 優先度:不変の値を使用して一意のビジネスキーを形成し、これを使用して同等性をテストする 一意のビジネスキーを使用できない場合は、エンティティの初期化時に作成される非一時的なUUIDを使用します。詳細については、この素晴らしい記事を参照してください。 関連するエンティティ(ManyToOne)を参照しないでください。このエンティティ(親エンティティなど)をビジネスキーの一部にする必要がある場合は、IDのみを比較します。プロパティアクセスタイプを使用している限り、プロキシでgetId()を呼び出してもエンティティの読み込みはトリガーされません。 エンティティの例 @Entity @Table(name = "ROOM") public class Room implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue @Column(name …
422 java  hibernate  jpa  equals 

30
文字列内の各単語の最初の文字を大文字にする方法
文字列の各単語の最初の文字を大文字にし、他の文字には影響しないJavaに組み込まれた関数はありますか? 例: jon skeet -> Jon Skeet miles o'Brien-> Miles O'Brien(Bは引き続き資本、これはタイトルケースを除外します) old mcdonald-> Old Mcdonald* *(Old McDonald見つけることもできますが、それほど賢いとは思わないでしょう。) Java String Documentationをざっと見てみるtoUpperCase()とtoLowerCase()、とのみがわかりますが、これはもちろん望ましい動作を提供しません。当然のことながら、Googleの結果はこれら2つの関数によって支配されています。すでに発明されたはずのホイールのようですので、頼むのも無理はないので、今後も使えるようにしています。

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