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

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

6
新しいテーブルのみが追加された場合のルームデータベースの移行
仮定してみましょう、私は単純な部屋データベースを持っています: @Database(entities = {User.class}, version = 1) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } ここで、新しいエンティティを追加します。Petバージョンを2にバンプします。 @Database(entities = {User.class, Pet.class}, version = 2) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } もちろん、Roomは例外をスローします。 java.lang.IllegalStateException: A migration from 1 to 2 is necessary. 私はUserクラスを変更していないと仮定し(すべてのデータが安全であるため)、新しいテーブルを作成するだけの移行を提供する必要があります。そこで、Roomによって生成されたクラスを調べ、生成されたクエリを検索して新しいテーブルを作成し、それをコピーして移行に貼り付けます。 final Migration …

13
Jackson databind enumの大文字と小文字を区別しません
大文字と小文字を区別しない列挙値を含むJSON文字列をデシリアライズするにはどうすればよいですか?(Jackson Databindを使用) JSON文字列: [{"url": "foo", "type": "json"}] そして私のJava POJO: public static class Endpoint { public enum DataType { JSON, HTML } public String url; public DataType type; public Endpoint() { } } この場合、JSONの逆シリアル化は、"type":"json"機能する場所で失敗し"type":"JSON"ます。しかし、私"json"は命名規則の理由からも働きたいです。 POJOをシリアル化すると、大文字になります "type":"JSON" @JsonCreator@JsonGetter の使用を考えました: @JsonCreator private Endpoint(@JsonProperty("name") String url, @JsonProperty("type") String type) { this.url = url; this.type …

7
Mockito- @ Spy vs @Mock
Mockito-スパイがオブジェクトの実際のメソッドを呼び出すのに対し、モックはdoubleオブジェクトのメソッドを呼び出すことを理解しています。また、コードの臭いがない限り、スパイは避けてください。しかし、スパイはどのように機能し、いつ実際に使用する必要がありますか?それらはモックとどう違うのですか?

30
Eclipse LauncherFactoryのNoClassDefFoundErrorが原因で、JUnit5を使用したテストが見つかりませんでした
問題 プロジェクトのJUnitテストを実行するたびに(Java9およびEclipseOxygen1.aでJUnit5を使用)、Eclipseがテストを見つけられないという問題が発生します。 説明 実行構成では、Eclipseは@Testアノテーションが付けられたメソッドを見つけることさえできず、代わりに「(すべてのメソッド)」のみを表示します。次の写真は、うまくいけば、私のセットアップをよりよく垣間見ることができます。 コンソール出力: java.lang.NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:31) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) at java.base/java.lang.Class.newInstance(Unknown Source) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:368) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:363) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:307) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:222) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) Caused by: java.lang.ClassNotFoundException: org.junit.platform.launcher.core.LauncherFactory at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 11 more …
99 java  eclipse  junit  java-9  junit5 

30
コレクション/配列/リストからカンマ区切りの文字列を作成する最も洗練された方法は?
データベースでの作業中に、クエリ文字列を記述していることに気付きました。この文字列には、リスト/配列/コレクションのwhere句にいくつかの制限を課す必要があります。次のようになります。 select * from customer where customer.id in (34, 26, ..., 2); これを、文字列のコレクションがあり、この文字列のコンマ区切りのリストを1つの文字列だけで作成したいという質問に減らすことで、これを簡略化できます。 これまでに使用した私のアプローチは次のようなものです。 String result = ""; boolean first = true; for(String string : collectionOfStrings) { if(first) { result+=string; first=false; } else { result+=","+string; } } しかし、これは非常に醜いものです。特に、(すべてのSQLクエリのように)構築された文字列が複雑になっている場合、最初の外観で何が起こるかはわかりません。 あなたの(より)エレガントな方法は何ですか?
98 java  sql  string 

14
IntelliJ Gradleプラグイン:提供されたjavaHomeは無効のようです
:と同様に - のIntelliJ 14供給JAVAHOMEは無効のようです - Androidのスタジオ-供給JAVAHOMEは有効なフォルダではありません しかし、私JAVA_HOMEはに設定されている私の変数を使用しようとしていますC:\Program Files\Java\jdk1.8.0_40 intellijがインストールディレクトリ内でJDKを探している理由がわかりません。 intellij: Executing external task 'bootRun'... The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1\jre\bin\java.exe External task execution finished 'bootRun'. C:\>java -version java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b25) …

8
実行時にTextViewのスタイルを変更する方法
ユーザーがをタップしたときにTextView定義済みのスタイルを適用したいAndroidアプリがあります。 見つけようと思ったのですtextview.setStyle()が存在しません。私は試した textview.setTextAppearance(); しかし、それは機能しません。
98 java  android  textview 

16
WindowsにMavenをインストールできない:「JAVA_HOMEが無効なディレクトリに設定されています」
Mavenのチュートリアルに従って手紙を書いたのですが、WindowsにMavenをインストールできません。 コマンドプロンプトで次のコマンドを実行すると、 E:\Documents and Settings\zach>mvn --version 私は得ます: 'mvn' is not recognized as an internal or external command, operable program or batch file. 私はmavenインストールフォルダーに移動して実行しmvn --version、以下を取得しました。 E:\java resources\apache-maven-2.2.0\bin>mvn --version ERROR: JAVA_HOME is set to an invalid directory. JAVA_HOME = "E:\Sun\SDK\jdk\bin" Please set the JAVA_HOME variable in your environment to match the location …
98 java  maven-2 

5
JUnit 4テストスイート
JUnit 4でテストスイートを作成するにはどうすればよいですか? 私が見たすべてのドキュメントは私のために働いているようではありません。また、Eclipseウィザードを使用すると、作成したテストクラスを選択するオプションが表示されません。
98 java  junit  test-suite 

5
default-packageのjava-classesにアクセスする方法は?
私は現在、他の人と一緒にgrailsプロジェクトで作業しています。私はいくつかのJavaクラスを書かなければなりません。しかし、groovyで作成された検索可能なオブジェクトにアクセスする必要があります。このオブジェクトはdefault-packageに配置する必要があるようです。 私の質問は:名前付きパッケージのJavaクラスからdefault-packageのこのオブジェクトにアクセスする方法はありますか?

1
JavaのAbstractListのremoveRange()メソッドが保護されているのはなぜですか?
誰もが何か考えを持っていますか、なぜAbstractListの(そしてArrayListの)removeRangeメソッドがなぜprotectedですか?非常に明確に定義された便利な操作のように見えますが、それでも、それを使用するには、List実装をサブクラス化する必要があります。 隠された根拠はありますか?私にはかなり不可解なようです。

5
Scene Builder for Javaの最新バージョンはどこで正確にダウンロードできますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 2年前休業。 この質問を改善する オラクルのサイトを検索しましたが、ダウンロードする実際の実行ファイルが見つかりません。古いバージョン、またはシーンビルダーのソースを参照するサイトを取得します。Scene Builderの最新バージョン用の実際のwindows / mac実行可能インストーラーを探しています。

9
デフォルトのパッケージからクラスをインポートする方法
重複の可能性:デフォルトパッケージのjava-classesにアクセスする方法 私はEclipse 3.5を使用しており、デフォルトのパッケージとともにいくつかのパッケージ構造を持つプロジェクトを作成しました。デフォルトのパッケージに1つのクラス-Calculations.javaがあり、そのクラスを任意のパッケージ(たとえばcom.company.calc)で使用したいと思います。デフォルトパッケージにあるクラスを使用しようとすると、コンパイラエラーが発生します。デフォルトパッケージのクラスを認識できません。問題はどこだ? Calculations.java-ソースコード public class Calculations { native public int Calculate(int contextId); native public double GetProgress(int contextId); static { System.loadLibrary("Calc"); } } クラスを他のパッケージに入れることはできません。このクラスには、Delphiで実装されているいくつかのネイティブメソッドがあります。そのクラスをいずれかのフォルダーに配置した場合、回避したいDLLに変更を加える必要があります(実際には-できません)。そのため、クラスをデフォルトパッケージに配置しました。

8
パラメータがリテラルnull値の場合、オーバーロードされたメソッドはどのように選択されますか?
私はクイズでこの質問に出くわしました、 public class MoneyCalc { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[]) { MoneyCalc question = new MoneyCalc(); question.method(null); } } このプログラムの出力は「文字列バージョン」です。しかし、オーバーロードされたメソッドにnullを渡すと文字列バージョンが選択される理由を理解できませんでした。nullは何も指していないString変数ですか? ただし、コードを次のように変更すると、 public class MoneyCalc { public void method(StringBuffer sb) { System.out.println("StringBuffer Verion"); } public …
98 java  overloading 

8
Android N Java 8機能(Jackコンパイラー)およびKotlin相互運用機能
アップデート 3。KOTLINは現在、 Androidの開発で公式にサポートされています。Googleによる。やぁぁぁぁぁぁぁぁぁす! アップデート2:JetBrainsは長期的にはKotlin for Androidのサポートに本当に取り組んでいるようです。私は幸せなkotlinユーザーです:)。 更新:JetBrainsのHadi Haririは、このトピックに関する情報をリリースする予定であると述べました。更新があり次第、この投稿を更新します。 ===次のスタッフの廃止=== Googleは、いくつかの興味深い機能を備えたAndroid Nのプレビューをリリースしました。最も顕著なのは、Java 8言語の部分的なサポートです。これは、Googleが取り組んでいる新しいJackツールチェーンのために可能です。 javacまたはkotlincを使用する現在のツールチェーン: javac(.java-> .class)-> dx(.class-> .dex) kotlinc(.kt-> .class)-> dx(.class-> .dex) 新しいジャックツールチェーン: ジャック(.java-> .jack-> .dex) 私は、GoogleがJackをAndroid開発のデフォルトのツールチェーンにすることを推進すると想定しています。更新:Jackは非推奨になりました。ヤス。 私の質問は、この新しいツールチェーンが、将来、Android開発のkotlinユーザーとしてどのように影響するかということです。「過去に行き詰まった」のでしょうか?

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