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

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

9
JavaのSHA-256によるハッシュ文字列
ここだけでなく、インターネット全体を見渡して、Bouncy Castleを見つけました。Bouncy Castle(または他の無料で利用できるユーティリティ)を使用して、Javaで文字列のSHA-256ハッシュを生成したいと思います。彼らのドキュメントを見ると、私がやりたいことの良い例を見つけることができないようです。ここの誰かが私を助けてくれますか?
111 java  bouncycastle  sha256  jce 


8
Javaの列挙型で==を使用しても問題ありませんか?
==Javaの列挙型で使用しても大丈夫ですか、それとも使用する必要があります.equals()か?私のテストでは==常に動作しますが、それが保証されているかどうかはわかりません。特に、.clone()列挙型にはメソッドがないため、とは.equals()異なる値を返す列挙型を取得できるかどうかはわかりません==。 たとえば、これは問題ありませんか? public int round(RoundingMode roundingMode) { if(roundingMode == RoundingMode.HALF_UP) { //do something } else if (roundingMode == RoundingMode.HALF_EVEN) { //do something } //etc } または、次のように記述する必要がありますか? public int round(RoundingMode roundingMode) { if(roundingMode.equals(RoundingMode.HALF_UP)) { //do something } else if (roundingMode.equals(RoundingMode.HALF_EVEN)) { //do something } //etc }
111 java  syntax  enums 

11
java:ArrayList-インデックスが存在するかどうかを確認するにはどうすればよいですか?
ArrayList<String>特定のインデックスでデータを追加して使用していますが、特定のインデックスが存在するかどうかを確認するにはどうすればよいですか? 単純にget()値を確認する必要がありますか?または、例外を待つ必要がありますか?別の方法はありますか? 更新 回答ありがとうございます。ただし、私は特定のインデックスにあるものだけを追加しているため、リストの長さには、利用可能なものは表示されません。
111 java  arraylist 

7
Java8ラムダと匿名クラス
Java8が最近リリースされ、その新しいラムダ式が本当にかっこいいように見えるので、これが私たちがこれまで使用していた匿名クラスの終焉を意味するのかと思っていました。 私はこれについて少し調べていて、Lambda式が体系的にそれらのクラスをどのように置き換えるかについていくつかのクールな例を見つけました。たとえば、コレクションのソートメソッドは、Comparatorの匿名インスタンスを取得してソートを実行するために使用していました。 Collections.sort(personList, new Comparator<Person>(){ public int compare(Person p1, Person p2){ return p1.firstName.compareTo(p2.firstName); } }); 今ラムダを使用して行うことができます: Collections.sort(personList, (Person p1, Person p2) -> p1.firstName.compareTo(p2.firstName)); そして、驚くほど簡潔に見えます。だから私の質問は、ラムダの代わりにJava8でそれらのクラスを使い続ける理由はあるのでしょうか? 編集 同じ質問ですが、反対の方向で、匿名クラスの代わりにラムダを使用する利点は何ですか?ラムダは単一のメソッドインターフェイスでのみ使用できるので、この新しい機能はいくつかの場合にのみ使用されるショートカットだけですか、それとも本当に便利ですか?


7
Javaのブールプリミティブサイズが定義されていないのはなぜですか?
Java仮想マシン仕様は、 boolean型のサポートに制限があることを述べているプリミティブ型は。 ブール値の操作専用のJava仮想マシン命令はありません。代わりに、ブール値を操作するJavaプログラミング言語の式は、Java仮想マシンのintデータ型の値を使用するようにコンパイルされます。 上記は、ブール値を操作するときにintデータ型が使用されることを意味します(誤解している可能性があります)が、これは32ビットのメモリ構造です。ブール値が1ビットの情報のみを表すとすると、 intの代わりにバイト型またはshort型がブール値のプロキシとして使用されないのはなぜですか? 特定のJVMについて、ブール型を格納するために使用されているメモリの量を正確に調べる最も信頼できる方法は何ですか?
111 java  boolean 

11
Javaでの類似文字列の比較
複数の文字列を比較して、最も類似している文字列を見つけます。どの文字列が他の文字列により類似しているかを返すライブラリ、メソッド、またはベストプラクティスがあるかどうか疑問に思っていました。例えば: 「ジャンプしたキツネ」→「ジャンプしたキツネ」 「急にキツネが跳んだ」->「キツネ」 この比較では、1つ目が2つ目よりも類似していることが返されます。 私は次のような方法が必要だと思います: double similarityIndex(String s1, String s2) どこかにそのようなものはありますか? 編集:なぜ私はこれをしているのですか?MSプロジェクトファイルの出力を、タスクを処理するレガシーシステムの出力と比較するスクリプトを書いています。レガシーシステムのフィールド幅は非常に限られているため、値が追加されると説明は省略されます。生成されたキーを取得できるように、MS Projectのどのエントリがシステムのエントリと類似しているかを半自動化する方法を見つけたいです。手動でチェックする必要があるため、欠点がありますが、多くの作業を節約できます

2
Java unchecked:varargsパラメータの未チェックのジェネリック配列の作成
Javaコードでチェックされていない警告を表示するようにNetbeansを設定しましたが、次の行のエラーを理解できません。 private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); 与える: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] メソッドソース: /** * Returns a list of all possible combinations of the entered array of lists. * * …

11
Jacksonでカスタムシリアライザーを使用するにはどうすればよいですか?
Jacksonを使用してJSONにシリアル化するJavaクラスが2つあります。 public class User { public final int id; public final String name; public User(int id, String name) { this.id = id; this.name = name; } } public class Item { public final int id; public final String itemNr; public final User createdBy; public Item(int id, String itemNr, User createdBy) …



10
JavaのインターフェースとHaskellの型クラス:違いと類似点?
Haskellを学んでいると、その型クラスに気づきました。これはHaskellから生まれた優れた発明であるはずです。 ただし、タイプクラスのWikipediaページ: プログラマーは、クラスに属するすべての型に存在しなければならない一連の関数名または定数名をそれぞれの型とともに指定することにより、型クラスを定義します。 私にとってはJavaのインターフェースにかなり近いようです(Wikipediaのインターフェース(Java)ページを引用): Javaプログラミング言語のインターフェースは、クラスが実装しなければならないインターフェース(一般的な意味で)を指定するために使用される抽象型です。 これらの2つはかなり似ています。型クラスは型の動作を制限し、インターフェイスはクラスの動作を制限します。 Haskellの型クラスとJavaのインターフェースの違いと類似点は何でしょうか、それとも根本的に異なるのでしょうか。 編集:私はhaskell.orgでさえそれらが類似していることを認めていることに気づきました それらが非常に類似している(またはそれらがそうである)場合、なぜ型クラスがそのような誇大広告で扱われるのですか? より多くの編集:うわー、とても多くの素晴らしい答え!コミュニティにどちらが最適かを判断させる必要があると思います。しかし、答えを読んでいる間、それらすべては、「型クラスができることはたくさんありますが、インターフェースがジェネリックに対応できないか、ジェネリックに対処する必要がある」とだけ言っているようです。私は疑問に思わずにはいられません、型クラスができないのにインターフェースができることはありますか?また、Wikipediaがtypeclassは元々1989年の論文「アドホックなポリモーフィズムをアドホックから少なくする方法」であると主張していることに気づきました。一方、Haskellはまだ揺りかごのままで、Javaプロジェクトは1991年に開始され、1995年に最初にリリースされました。 。では、タイプクラスがインターフェースに似ているのではなく、その逆に、インターフェースがタイプクラスの影響を受けたのではないでしょうか。これを支持または反証する文書/論文はありますか?すべての回答をありがとう、それらはすべて非常に啓発的です! すべての入力をありがとう!

4
ラムダ式とジェネリックメソッド
私が一般的なインターフェースを持っているとしましょう: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } そして方法sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } このメソッドを呼び出して、ラムダ式を引数として渡すことができます。 List<String> list = Arrays.asList("a", "b", "c"); sort(list, (a, b) -> a.compareTo(b)); それはうまくいきます。 しかし、インターフェイスをジェネリックにせず、メソッドをジェネリックにすると、次のようになります。 interface MyComparable { public <T extends …
111 java  generics  lambda  java-8 

1
Spring Dataリポジトリは実際にどのように実装されていますか?
私のプロジェクトではSpring Data JPAリポジトリをしばらく使用しており、以下の点を知っています。 リポジトリインターフェースでは、findByCustomerNameAndPhone()(ドメインオブジェクトのフィールドであるcustomerNameと仮定して)などのメソッドを追加できphoneます。 次に、Springは、実行時に(アプリケーションの実行中に)上記のリポジトリインターフェースメソッドを実装することにより、実装を提供します。 これがどのようにコーディングされているかに興味があり、Spring JPAのソースコードとAPIを確認しましたが、以下の質問に対する回答が見つかりませんでした。 実行時に生成されるリポジトリ実装クラスと、実装および注入されるメソッドはどのようになっていますか? Spring Data JPAはCGlibまたはバイトコード操作ライブラリを使用してメソッドを実装し、動的に注入しますか? 上記のクエリを支援し、サポートされているドキュメントを提供してもらえますか?

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