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

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

9
Java:1つのファイル内の複数のクラス宣言
Javaでは、1つのファイルで複数の最上位クラスを定義できます。ただし、これらのクラスの最大1つがパブリックであることが条件です(JLS§7.6を参照)。例については、以下を参照してください。 この技術のためにきちんと名前が(に類似がありinner、nested、anonymous)? JLSは、システムがこれらのセカンダリクラスをにすることはできないという制限を強制する可能性があると述べていますreferred to by code in other compilation units of the package。たとえば、それらはパッケージプライベートとして扱うことができません。それは本当にJava実装間で変わるものですか? たとえば、PublicClass.java: package com.example.multiple; public class PublicClass { PrivateImpl impl = new PrivateImpl(); } class PrivateImpl { int implementationData; }
238 java  class 


4
Javaアノテーションメンバーにはどのタイプを使用できますか?
今日、このドキュメントに従って最初の注釈インターフェイスを作成したかったのですが、このコンパイラエラーが発生しました Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ } もちろんObject、アノテーションメンバーのタイプとして使用することはできません。残念ながら、一般的に使用できるタイプに関する情報は見つかりませんでした。 これは私が試行錯誤して見つけたものです: String →有効 int →有効 Integer →無効(驚くほど) String[] →有効(意外) Object →無効 おそらく、誰かが実際に許可されているタイプとその理由についていくつかの光を当てることができます。
238 java  annotations 

6
単体テスト中にSpring @Valueを設定する
プログラムでフォームを検証するために使用される単純なBeanのユニットテストを記述しようとしています。Beanにはアノテーションが付けられ@Componentており、クラス変数が @Value("${this.property.value}") private String thisProperty; このクラス内の検証メソッドの単体テストを記述したいのですが、可能であれば、プロパティファイルを使用せずに記述したいと思います。これの背後にある私の推論は、プロパティファイルから取得している値が変更された場合、テストケースに影響を与えないようにするためです。私のテストケースでは、値自体ではなく、値を検証するコードをテストしています。 テストクラス内でJavaコードを使用してJavaクラスを初期化し、そのクラス内にSpring @Valueプロパティを設定して、それを使用してテストする方法はありますか? このハウツーは近いようですが、まだプロパティファイルを使用しています。私はむしろそれがすべてJavaコードであることを望みます。

25
署名されたapkの生成時の「:app:lintVitalRelease」エラー
Google PlayでAPKをアップロードしようとしたところ、「デバッグ可能なAPKをアップロードしました。セキュリティ上の理由から、Google Playで公開する前にデバッグを無効にする必要があります。デバッグ可能なAPKの詳細をご覧ください。」というエラーメッセージが表示されました。 その後android:debuggable="false"、マニフェストに書き込み、再試行しました。同じエラーが発生したため、モジュールのビルドバリアントをリリースに設定し、apkを再度生成しようとしましたが、今回はこのエラーが生成されました。 Error:Gradle: Execution failed for task ':app:lintVitalRelease'. Lint found fatal errors while assembling a release target. To proceed, either fix the issues identified by lint, or modify your build script as follows: ... android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue …
238 java  android  gradle 

3
他のクラスのメソッドへのJavadocリンク
現在、私はこのJavadoc構文で他のクラスのメソッドを参照しています: @see {@link com.my.package.Class#method()} そして、私がドキュメントから理解していることでは、これはこれを行う正しい方法です。しかし、今面白い部分、またはイライラします。このjavadocを生成すると、まず次のエラーが発生します。 warning - Tag @see:illegal character: "123" in "{@link com.my.package.Class#method()}" warning - Tag @see:illegal character: "64" in "{@link com.my.package.Class#method()}" warning - Tag @see: reference not found: {@link com.my.package.Class#method()} これの生成されたHTMLコードは次のとおりです。 "," <code>com.my.package.Class#method()}</code> "," そしてもちろん私にはリンクがありません。誰が何が起こっているのか、そしてこれを修正する方法についてのヒントはありますか? ASCIIテーブルによれば、woldの文字123および64は{および@を表すので、ドキュメントに従ってこの構文が正しい場合、これらの文字はなぜ有効ではないのでしょうか。
238 java  javadoc 

10
Java:UNIXタイムスタンプからの日付
UNIXタイムスタンプを日付オブジェクトに変換する必要があります。 私はこれを試しました: java.util.Date time = new java.util.Date(timeStamp); タイムスタンプ値は次のとおりです。 1280512800 日付は "2010/07/30-22:30:00"(PHPで取得した場合)である必要がありますが、代わりにを取得しThu Jan 15 23:11:56 IRST 1970ます。 どのようにすればよいですか?
237 java  unix  timestamp 

7
Javaジェネリック型の消去:いつ、何が起こりますか?
OracleのWebサイトで Javaの型消去について読みました。 型消去はいつ発生しますか?コンパイル時または実行時ですか?クラスが読み込まれると?クラスがインスタンス化されるのはいつですか? 多くのサイト(上記の公式チュートリアルを含む)では、型の消去はコンパイル時に行われるとしています。コンパイル時に型情報が完全に削除された場合、ジェネリックを使用するメソッドが型情報なしまたは誤った型情報で呼び出された場合、JDKはどのように型の互換性をチェックしますか? 次の例を考えてみます。クラスAにメソッドがあるとしempty(Box<? extends Number> b)ます。A.javaクラスファイルをコンパイルして取得しますA.class。 public class A { public static void empty(Box<? extends Number> b) {} } public class Box<T> {} 次に、パラメーター化されていない引数(rawタイプ)を使用しBてメソッドを呼び出す別のクラスを作成します。クラスパスでコンパイルすると、javacは十分に賢く警告を発します。だから、持ってそれに保存されているいくつかのタイプの情報を。emptyempty(new Box())B.javaA.classA.class public class B { public static void invoke() { // java: unchecked method invocation: // method empty in class A is applied to …

18
java.util.Setにget(int index)がないのはなぜですか?
正当な理由があると私は確信していjava.util.Setますがget(int Index)、誰かがインターフェイスやその他の同様のget()方法が欠けている理由を誰かに説明してもらえますか? セットは物を入れるのに最適のようですが、そこから1つのアイテムを取得するためのエレガントな方法が見つかりません。 最初のアイテムが必要なことがわかっている場合はを使用できますがset.iterator().next()、それ以外の場合は、特定のインデックスのアイテムを取得するために配列にキャストする必要があるようです。 セットからデータを取得する適切な方法は何ですか?(イテレータを使用する以外) それがAPIから除外されているという事実は、これを行わないことには十分な理由があることを意味します-誰かが私を啓発してくれませんか? 編集: ここでいくつかの非常に素晴らしい答え、そしていくつかは「より多くのコンテキスト」と言っています。特定のシナリオはdbUnitテストで、クエリから返されたセットには1つのアイテムしかないと合理的に主張でき、そのアイテムにアクセスしようとしました。 ただし、問題はより集中しているため、シナリオがなくてもより有効です。 セットとリストの違いは何ですか。 以下の素晴らしい答えをありがとう。

18
良いJavaグラフアルゴリズムライブラリ?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 グラフアルゴリズム用のJavaライブラリを使った経験がありましたか。私はJGraphを試してみましたが、大丈夫でした。Googleにはさまざまなものがあります。人々が実際に製品コードで正常に使用しているものや推奨するものはありますか? 明確にするために、私はグラフ/チャートを作成するライブラリを探していません。たとえば、最小スパニングツリー、クラスカルのアルゴリズムノード、エッジなど、グラフアルゴリズムを支援するライブラリを探しています。素敵なJava OO APIの構造。
237 java  algorithm  graph 


22
複数のフィールドでオブジェクトを比較する方法
次の方法で比較できるいくつかのフィールドを持ついくつかのオブジェクトがあるとします。 public class Person { private String firstName; private String lastName; private String age; /* Constructors */ /* Methods */ } したがって、この例では、次のことを尋ねると、 a.compareTo(b) > 0 あなたはaの姓がbの前に来るのか、またはaがbより古いのかなどを尋ねているかもしれません... 不要な混乱やオーバーヘッドを追加せずに、これらの種類のオブジェクト間の複数の比較を可能にする最もクリーンな方法は何ですか? java.lang.Comparable インターフェースにより、1つのフィールドのみによる比較が可能 多数の比較メソッド(つまりcompareByFirstName()、compareByAge()など)を追加することは、私の意見では混乱しています。 それで、これについて最善の方法は何ですか?
237 java  oop 

18
PersistentObjectException:JPAおよびHibernateによってスローされた永続化に渡された分離エンティティ
私は、多対1の関係が含まれているJPA永続化オブジェクトモデルを持っている:Account多くを持っていますTransactions。あTransactionに1つありAccountます。 コードのスニペットは次のとおりです。 @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne(cascade = {CascadeType.ALL},fetch= FetchType.EAGER) private Account fromAccount; .... @Entity public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = {CascadeType.ALL},fetch= FetchType.EAGER, mappedBy = "fromAccount") private Set<Transaction> transactions; Accountオブジェクトを作成し、トランザクションを追加して、Accountオブジェクトを正しく永続化できます。しかし、トランザクションを作成するときは、既存の永続化されたアカウントを使用して、トランザクションを永続化します、私は例外を取得します: 原因:org.hibernate.PersistentObjectException:永続化のために渡された分離エンティティ:com.paulsanwald.Account at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141) したがって、Accountトランザクションを含むを永続化できますが、を含むトランザクションは永続化できませんAccount。これはAccount添付されていない可能性があるためだと思っていましたが、このコードでも同じ例外が発生します。 if …
237 java  hibernate  jpa  entity  persist 

6
Androidがsetvisibility(view.Gone)中に単純なアニメーションを追加する
シンプルなレイアウトを設計しました。アニメーションなしでデザインを完成させましたが、textviewクリックイベントのアニメーションを追加したいのですが、使い方がわかりません。私のxmlデザインは良さそうでしたか?任意の提案をいただければ幸いです。 私のXML <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:longClickable="false" android:orientation="vertical" android:weightSum="16" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:orientation="vertical" android:background="#00DDA0" android:layout_weight="3" > </LinearLayout> <TextView android:id="@+id/Information1" android:layout_width="match_parent" android:layout_height="1dp" android:text="Child Information" android:background="#0390BE" android:layout_weight="0.75" android:textColor="#FFFFFF" android:layout_gravity="center|fill_horizontal"/> <LinearLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="8.5" android:background="#BBBBBB" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="TextView" /> </LinearLayout> <TextView android:id="@+id/Information2" android:layout_width="match_parent" android:layout_height="0dp" …


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