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

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

16
Javaでファイルをリストするための最良の方法は、更新日でソートされていますか?
ディレクトリ内のファイルのリストを取得したいが、最も古いファイルが最初になるようにソートしたい。私の解決策は、File.listFilesを呼び出して、File.lastModifiedに基づいてリストを再ソートすることでしたが、もっと良い方法があるかどうか疑問に思っていました。 編集:私の現在の解決策は、提案されているように、匿名のコンパレータを使用することです: File[] files = directory.listFiles(); Arrays.sort(files, new Comparator<File>(){ public int compare(File f1, File f2) { return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); } });
240 java  file  sorting 

14
JUnit 4で現在実行中のテストの名前を取得します
JUnit 3では、次のように現在実行中のテストの名前を取得できます。 public class MyTest extends TestCase { public void testSomething() { System.out.println("Current test is " + getName()); ... } } 「現在のテストはtestSomethingです」と出力されます。 JUnit 4でこれを行うためのすぐに使用できる簡単な方法はありますか? 背景:明らかに、テストの名前だけを印刷する必要はありません。テストと同じ名前のリソースに格納されているテスト固有のデータをロードしたい。ご存知のとおり、構成に関する規約などです。
240 java  unit-testing  junit 

7
列挙値をintに変換する方法は?
型intを返す関数があります。ただし、TAX列挙の値しかありません。 TAX列挙値をintにキャストするにはどうすればよいですか? public enum TAX { NOTAX(0),SALESTAX(10),IMPORTEDTAX(5); private int value; private TAX(int value){ this.value = value; } } TAX var = TAX.NOTAX; // This value will differ public int getTaxValue() { // what do do here? // return (int)var; }
240 java  enums 

3
Java 8ラムダ、Function.identity()またはt-> t
OverаэтотвопросестьответынаStack Overflowнарусском:JavaямбдывJava 8、чтолучшеиспользовать-Function.identity()илиt-> t? Function.identity()メソッドの使い方について質問があります。 次のコードを想像してみてください: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // <- This, .map(str -> str) // <- is the same as this. .collect(Collectors.toMap( Function.identity(), // <-- And this, str -> str)); // <-- is the same as this. Function.identity()代わりにstr->str(またはその逆に)使用する理由はありますか?2番目のオプションの方が読みやすいと思います(もちろん、好みの問題です)。しかし、人が好まれるべき「本当の」理由はありますか?

12
Stream :: flatMapでのJava 8のオプションの使用
新しいJava 8ストリームフレームワークとその仲間は、非常に簡潔なJavaコードを作成しますが、簡潔に行うのが難しい一見シンプルな状況に遭遇しました。 List<Thing> thingsとメソッドを検討してくださいOptional<Other> resolve(Thing thing)。ThingsをOptional<Other>s にマップして、最初のを取得しOtherます。明白な解決策はを使用することですが、ストリームを返す必要things.stream().flatMap(this::resolve).findFirst()がflatMapありOptional、stream()メソッドがない(またはCollectionそれをに変換するか、それをとして表示するメソッドを提供するCollection) 私が思いつくことができる最高のものはこれです: things.stream() .map(this::resolve) .filter(Optional::isPresent) .map(Optional::get) .findFirst(); しかし、それは非常に一般的なケースのように思えるので、ひどく長い時間のように思えます。誰かがより良いアイデアを持っていますか?

18
リソースフォルダーからファイルを読み込むにはどうすればよいですか?
私のプロジェクトの構造は次のとおりです。 /src/main/java/ /src/main/resources/ /src/test/java/ /src/test/resources/ にファイルが/src/test/resources/test.csvあり、単体テストからファイルをロードしたい/src/test/java/MyTest.java 動作しなかったこのコードがあります。「そのようなファイルやディレクトリはありません」と文句を言います。 BufferedReader br = new BufferedReader (new FileReader(test.csv)) 私もこれを試しました InputStream is = (InputStream) MyTest.class.getResourcesAsStream(test.csv)) これも機能しません。戻りますnull。Mavenを使用してプロジェクトをビルドしています。
240 java  file  maven 



14
アクティビティ間でデータを共有する最良の方法は何ですか?
アプリ全体で使用されるメインアクティビティである1つのアクティビティがあり、いくつかの変数があります。最初のアクティビティからのデータを使用できるようにしたい他の2つのアクティビティがあります。これで、次のようなことができることがわかりました。 GlobalState gs = (GlobalState) getApplication(); String s = gs.getTestMe(); しかし、私は多くの変数を共有したいので、いくつかはかなり大きいので、上記のようにそれらのコピーを作成したくありません。 getおよびsetメソッドを使用せずに変数を直接取得および変更する方法はありますか?これはAndroidでのパフォーマンスには推奨されないというGoogle開発サイトの記事を読んだことを覚えています。
239 java  android  sharing 

5
Java Streamsが一度オフになるのはなぜですか?
C#とは異なりIEnumerable、実行パイプラインは何度でも実行できますが、Javaではストリームを1回だけ「反復」できます。 端末操作を呼び出すと、ストリームが閉じて使用できなくなります。この「機能」は多くの力を奪います。 これの理由は技術的ではないと思います。この奇妙な制限の背後にある設計上の考慮事項は何でしたか? 編集:私が話していることを示すために、C#でのQuick-Sortの次の実装を検討してください。 IEnumerable<int> QuickSort(IEnumerable<int> ints) { if (!ints.Any()) { return Enumerable.Empty<int>(); } int pivot = ints.First(); IEnumerable<int> lt = ints.Where(i => i < pivot); IEnumerable<int> gt = ints.Where(i => i > pivot); return QuickSort(lt).Concat(new int[] { pivot }).Concat(QuickSort(gt)); } 確かに、これがクイックソートの適切な実装であることを私は主張していません。ただし、これは、ラムダ式とストリーム操作を組み合わせた表現力の優れた例です。 そして、それはJavaではできません!ストリームを使用不可にすることなく、ストリームが空かどうかを確認することもできません。

4
Android buildscriptリポジトリ:jcenter VS mavencentral
前回Android Studioを使用したときは.gradle、mavencentral()ビルドスクリプトリポジトリでファイルを生成していましたが、現在はjcenter()です。 誰もがこれに関連する問題を説明できますか?他にレポはありますか?いつ切り替える必要がありますか?プロジェクト、モジュール、ライブラリにどのような影響がありますか?Android開発者にとって他に必要なものはありますか? これらのリポジトリを維持する責任があるのは誰ですか?

21
Androidアプリでインターネット接続を確認するためのブロードキャストレシーバー
インターネット接続を確認するためのアンドロイド放送受信機を開発しています。 問題は、私の放送受信機が2回呼び出されていることです。ネットワークが利用可能な場合にのみ呼び出されます。利用できない場合は、通知しません。 これが放送受信機 public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { final ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI); final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isAvailable() || mobile.isAvailable()) { // Do something Log.d("Network Available ", "Flag …

30
Javaでint配列を反転するにはどうすればよいですか?
OverаэтотвопросестьответынаStack Overflowнарусском:КакперевернутьмассиввДжаве? Javaでint配列を反転しようとしています。 このメソッドは配列を反転しません。 for(int i = 0; i < validData.length; i++) { int temp = validData[i]; validData[i] = validData[validData.length - i - 1]; validData[validData.length - i - 1] = temp; } それの何が問題になっていますか?
238 java  arrays  idioms  idiomatic 

8
System.currentTimeMillis()対new Date()対Calendar.getInstance()。getTime()
StackатотвопросестьответынаStack Overflowнарусском:Чтобыстрее-System.currentTimeMillis()илиDate()。getTime()? Javaでは、使用のパフォーマンスとリソースへの影響は何ですか System.currentTimeMillis() 対 new Date() 対 Calendar.getInstance().getTime() 私が理解しているようにSystem.currentTimeMillis()、最も効率的です。ただし、ほとんどのアプリケーションでは、人間にとって意味のある処理を行うために、その長い値をDateなどのオブジェクトに変換する必要があります。


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