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

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


9
gsonによる多態性
Gsonでjson文字列をデシリアライズする際に問題が発生しました。コマンドの配列を受け取ります。コマンドには、start、stop、その他のタイプのコマンドがあります。当然私はポリモーフィズムを持っています、そして開始/停止コマンドはコマンドから継承します。 gsonを使用して正しいコマンドオブジェクトにシリアル化するにはどうすればよいですか? 基本型のみを取得しているようです。つまり、宣言された型であり、実行時の型はありません。

4
REST Webサービスからクライアントにファイルを送信する正しい方法は何ですか?
RESTサービスの開発を始めたばかりですが、RESTサービスからクライアントにファイルを送信するという難しい状況に遭遇しました。これまでのところ、単純なデータ型(文字列、整数など)を送信する方法のコツをつかんでいますが、ファイル形式が多すぎてどこから始めればよいかわからないため、ファイルの送信は別の問題です。私のRESTサービスはJavaで作成されており、Jerseyを使用しています。すべてのデータをJSON形式で送信しています。 私はbase64エンコーディングについて読みましたが、一部の人々はそれが良いテクニックであると言い、他の人はファイルサイズの問題が原因ではないと言っています。正しい方法は何ですか?これが私のプロジェクトの単純なリソースクラスの外観です。 import java.sql.SQLException; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Request; import javax.ws.rs.core.UriInfo; import com.mx.ipn.escom.testerRest.dao.TemaDao; import com.mx.ipn.escom.testerRest.modelo.Tema; @Path("/temas") public class TemaResource { @GET @Produces({MediaType.APPLICATION_JSON}) public List<Tema> getTemas() throws SQLException{ TemaDao temaDao = new TemaDao(); List<Tema> temas=temaDao.getTemas(); temaDao.terminarSesion(); return temas; } } ファイルを送信するためのコードは次のようになると思います: import …
103 java  json  web-services  rest  jersey 

15
ローカル変数がJavaで初期化されないのはなぜですか?
Javaの設計者がローカル変数にデフォルト値を与えるべきではないと感じた理由はありましたか?真剣に、インスタンス変数にデフォルト値を与えることができるなら、なぜローカル変数に対して同じことをできないのでしょうか? また、このブログ投稿へのコメントで説明されているように、問題にもつながります。 さて、このルールは、finallyブロックでリソースを閉じようとするときに最もイライラします。try内でリソースをインスタンス化し、finally内でそれを閉じようとすると、このエラーが発生します。インスタンス化を試行の外に移動すると、試行内にある必要があることを示す別のエラーが表示されます。 とてもイライラします。



1
JetBrainsはどのGUIライブラリを使用していますか?
バックグラウンド 私はJavaに少し慣れており、JetBrainsチームによって開発されたIntelliJ IDEを楽しんでいます。 Community Editionのソースをダウンロードしました。ルックアンドフィールを取得するために使用しているGUIライブラリを調べています。 質問 非ネイティブのタブ、ツールバー、ブレッドクラムコンポーネントを取得するために使用しているライブラリ(ある場合)は何ですか? 彼らが使用しているパネルも興味深いですが、それらはプロジェクト用に開発されたものであり、ライブラリではないように感じます。これは本当ですか? 誰かがGUIプロジェクトで同様のルックアンドフィールを作成するために必要なものの内訳を提供できますか? 誰かがそのためのチュートリアルを持っていますか?これまでに解決できたのは、彼らがSwingとjGoodiesを使用していることだけです。 これまでのところ 彼らはSwingとjGoodiesを使用しています。のMyDoggyプロジェクトは、私はこれはIntelliJので使用されているとは思わないが、同様のドッキングフレームワークを作成しようとしています。


5
Gradleと-Dを介してシステムプロパティをテストに与える方法
Systemプロパティを読み取るJavaプログラムがあります System.getProperty("cassandra.ip"); 私は最初にGradleビルドファイルを持っています gradle test -Pcassandra.ip=192.168.33.13 または gradle test -Dcassandra.ip=192.168.33.13 ただし、System.getPropertyは常にnullを返します。 私が見つけた唯一の方法は、それを私のGradleビルドファイルに追加することでした test { systemProperty "cassandra.ip", "192.168.33.13" } -Dでそれを行う方法
103 java  testing  gradle 


6
Gradleを使用するときに、推移的な依存関係のすべてのインスタンスを除外するにはどうすればよいですか?
私のgradleプロジェクトはapplicationプラグインを使用してjarファイルを作成しています。実行時の推移的な依存関係の一部として、結局はを取得しorg.slf4j:slf4j-log4j12ます。(それは少なくとも5または6の他の推移的な依存関係のサブ推移的な依存関係として参照されます-このプロジェクトは春とhadoopを使用しているので、キッチンシンク以外のすべてが引き込まれています...待つ必要はありません... )。 作成したslf4j-log4j12jarからjar をグローバルに除外したい。だから私はこれを試しました: configurations { runtime.exclude group: "org.slf4j", name: "slf4j-log4j12" } ただし、これにはを含むすべての org.slf4jアーティファクトが除外されているようslf4j-apiです。デバッグモードで実行すると、次のような行が表示されます。 org.slf4j#slf4j-api is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-simple is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-log4j12 is excluded from org.apache.hadoop:hadoop-common:2.2.0(runtime). 各slf4j-log4j12推移的な依存関係のソースを調べてからcompile foo { exclude slf4j... }、dependenciesブロックに個々のステートメントを含める必要はありません。 更新: 私もこれを試しました: configurations { runtime.exclude name: "slf4j-log4j12" } ビルドからすべてを除外することになります!私が指定しgroup: "*"たかのように。 アップデート2: これにはGradleバージョン1.10を使用しています。
103 java  gradle 

9
静的対 Javaでの動的バインディング
現在、自分のクラスの1つに割り当てを行っています。その中で、Java構文を使用して、静的および動的バインディングの例を示す必要があります。 静的バインディングはコンパイル時に発生し、動的バインディングは実行時に発生するという基本的な概念を理解していますが、それらが実際にどのように機能するか理解できません。 この例を示す静的バインディングの例をオンラインで見つけました: public static void callEat(Animal animal) { System.out.println("Animal is eating"); } public static void callEat(Dog dog) { System.out.println("Dog is eating"); } public static void main(String args[]) { Animal a = new Dog(); callEat(a); } そして、これは静的バインディングをcallEat使用するため、「動物が食べている」と出力しますが、これが静的バインディングと見なされる理由についてはわかりません。 これまでのところ、私が見た情報源のどれも、これを私が理解できる方法で説明できていません。

4
Jock5でMockitoを使用する方法
MockitoおよびJUnit 5でインジェクションを使用するにはどうすればよいですか? JUnit4では、@RunWith(MockitoJUnitRunner.class)アノテーションを使用できます。JUnit5には@RunWithアノテーションはありませんか?

7
ディレクトリが存在しない場合は作成し、そのディレクトリにもファイルを作成します
条件は、ディレクトリが存在する場合、新しいディレクトリを作成せずに、その特定のディレクトリにファイルを作成する必要があることです。 以下のコードは、既存のディレクトリではなく、新しいディレクトリでファイルを作成するだけです。たとえば、ディレクトリ名は「GETDIRECTION」のようになります。 String PATH = "/remote/dir/server/"; String fileName = PATH.append(id).concat(getTimeStamp()).append(".txt"); String directoryName = PATH.append(this.getClassName()); File file = new File(String.valueOf(fileName)); File directory = new File(String.valueOf(directoryName)); if(!directory.exists()){ directory.mkdir(); if(!file.exists() && !checkEnoughDiskSpace()){ file.getParentFile().mkdir(); file.createNewFile(); } } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(value); bw.close();
103 java  java-io 

4
継承を伴う@Dataアノテーションlombokの警告equals / hashCode
私は他から継承するエンティティを持っています。一方、ボイラープレートコードを減らすためにlombokプロジェクトを使用しているので、@Dataアノテーションを付けます。@Data継承のある注釈は、次の警告を生成します。 このクラスがjava.lang.Objectを拡張していない場合でも、equals / hashCode実装を生成しますが、スーパークラスを呼び出すことはありません。これが意図的なものである場合は@EqualsAndHashCode(callSuper=false)、タイプに追加してください。 注釈を追加することが賢明です@EqualsAndHashCode (callSuper = true)か@EqualsAndHashCode (callSuper = false)?それが追加されていない場合は、そのどちらですcallSuper=falseかcallSuper=true?
103 java  lombok 

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