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

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

4
ボックス形式のLong値127と128の比較
条件を使用して2つのLongオブジェクトの値を比較したいif。これらの値が128未満の場合、if条件は適切に機能しますが、128以上の場合、比較は失敗します。 例: Long num1 = 127; Long num2 = 127; if (num1 == num2) { // Works ok } 上記のコードの比較は正しく機能しますが、以下のコードでは失敗します。 Long num1 = 128; Long num2 = 128; if (num1 == num2) { // Does NOT work } Long変数と127より大きい値の比較に問題があるのはなぜですか?変数のデータ型が長いプリミティブに変更された場合、比較はすべてのケースで機能します。


29
Netbeansのパフォーマンスを向上させる方法は?
Netbeansをロードしてより速く動作させるための実際の方法はありますか? しばらくコーディングしていると、速度が遅すぎて悪化します。それは私のすべてのRAMを消費します。 私はWindowsマシン、具体的にはWindows Server 2008 Datacenter Edition x64、4GbのRAM、3Ghz Core 2 Duoプロセッサーなどを使用しています。x64JDKを使用しています。私にとっては、NOD32アンチウイルスを使用しています。これは、マシンのパフォーマンスで最高です。 タスクマネージャーでは、netbeans.exeは20 MB以下、java.exeは600 MB以上しか表示しません。 私のプロジェクトはJ2EE Webアプリケーションで、500クラスを超え、プロジェクトライブラリのみが含まれていません(外部)。遅いと言ったとき、3、4、5分以上のNetbeansがフリーズしていることを意味します。 エラー警告、svnステータスなどのファイルの状態を取得するためにすべてのファイルを読み取る必要がある場合、私のプロジェクトはNetbeansには大きすぎますか?これをすべて無効にできますか?ファイルを開いたときだけスキャンするように設定することはできますか? 私のCPU使用率は通常、すべてのツールを開いた状態で30%です。つまり、Netbeans、MS SQL Manager、メモ帳、XMLSpy、タスクマネージャー、Delphi、VirtualBoxです。Netbeansは私の仮想化システムよりも多くのRAMを消費します。 Linuxでは、同じマシン(Ubuntu 8.04 x64)にあるWindowsと同じくらい遅いです。 Netbeansチームが起動速度を改善したことは事実ですが、起動するとALLのキャッシュが開始されます。 いくつかのJVMパラメータを使用して、高いメモリ使用量を設定しました。 "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled しかし、それでもまだ遅いです。

5
列挙型のコンストラクターが静的フィールドにアクセスできないのはなぜですか?
列挙型のコンストラクターが静的フィールドとメソッドにアクセスできないのはなぜですか?これはクラスでは完全に有効ですが、列挙型では許可されていません。 私がやろうとしていることは、列挙型インスタンスを静的マップに格納することです。略語による検索を可能にする次のコード例を検討してください。 public enum Day { Sunday("Sun"), Monday("Mon"), Tuesday("Tue"), Wednesday("Wed"), Thursday("Thu"), Friday("Fri"), Saturday("Sat"); private final String abbreviation; private static final Map<String, Day> ABBREV_MAP = new HashMap<String, Day>(); private Day(String abbreviation) { this.abbreviation = abbreviation; ABBREV_MAP.put(abbreviation, this); // Not valid } public String getAbbreviation() { return abbreviation; } public static Day …
110 java  enums 

3
Java 8の分割で、結果配列の先頭にある空の文字列が削除されることがあるのはなぜですか?
次のように空の文字列で分割するJava 8より前 String[] tokens = "abc".split(""); 分割メカニズムは、でマークされた場所で分割されます | |a|b|c| ""各文字の前後に空白スペースがあるためです。結果として、最初にこの配列が生成されます ["", "a", "b", "c", ""] その後、末尾の空の文字列を削除します(limit引数に負の値を明示的に指定しなかったため)。 ["", "a", "b", "c"] Java 8では、分割メカニズムが変更されたようです。今私たちが使うとき "abc".split("") ["a", "b", "c"]代わりに配列を取得するため["", "a", "b", "c"]、最初の空の文字列も削除されているように見えます。しかし、この理論は失敗します "abc".split("a") startに空の文字列の配列を返します["", "bc"]。 ここで何が起こっているのか、Java 8で分割のルールがどのように変更されたのかを誰かが説明できますか?
110 java  regex  split  java-8 

10
Android:チェックボックスリスナー
リスナーをに重ねたいのですがCheckBox。私は情報を探しました、そしてそれはこのようなものです: satView = (CheckBox)findViewById(R.id.sateliteCheckBox); satView.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (isChecked){ // perform logic } } }); 問題は、EclipseがそれをOnCheckedChangeListenerforであるRadioGroupと認識し、機能しないことです。どうすれば修正できますか?


16
Android-起動時に白い画面を表示しない
誰もが知っているように、多くのAndroidアプリは、最初Activityにフォーカスが当たる前に、ごく短時間、白い画面を表示します。この問題は、次の場合に発生します。 グローバルApplicationクラスを拡張し、そこで主要な初期化を実行するAndroidアプリ。Application オブジェクトは常に最初のオブジェクトActivity(デバッガーで確認できる事実)の前に作成されるため、これは理にかなっています。これが私の場合の遅延の原因です。 スプラッシュスクリーンの前にデフォルトのプレビューウィンドウを表示するAndroidアプリ。 android:windowDisablePreview = "true"ここでは明らかに設定は機能しません。また、[残念ながら]スプラッシュスクリーンはを使用しているため、スプラッシュスクリーンの親テーマをここでTheme.Holo.NoActionBar説明するように設定することもできません。ActionBar 一方、Applicationクラスを拡張しないアプリは、起動時に白い画面を表示しません。 問題は、理想的には、Applicationオブジェクトで実行される初期化は、最初のものが表示される前に行われる必要Activityがあることです。だから私の質問は、オブジェクトを使用せずにアプリの起動時にこれらの初期化を実行するにはどうすればよいApplicationですか?おそらくThreadまたはを使用しているServiceと思いますか? これは考えるべき興味深い問題です。NoActionBar私のスプラッシュ画面には実際にはActionBarいくつかの無関係な理由のために悲劇的にあるので、私は(テーマを設定することによって)通常の方法でそれをバイパスすることはできません。 注意: 私はすでに次の質問に言及しました: アプリの起動時に白い画面を修正する方法? Androidスプラッシュ画面は最初は白いですか? スプラッシュスクリーンの前に白い画面 Androidアプリ起動時の白い背景 Androidでアプリの実行を開始すると1秒間白い画面が表示されるのはなぜですか? 参照: パターン–起動画面。 ブランド化された起動画面:Androidの新しいスプラッシュ。 スプラッシュスクリーン正しい方法。

7
intがnullかどうかを確認する方法
というオブジェクトがありますPerson。 いくつかの属性があります。 int id; String name; のような人物オブジェクトを設定しましたPerson p = new Person(1,"Joe");。 1.)オブジェクトがnullでないかどうかを確認する必要があります。次の式は正しいですか。 if (person == null){ } Or if(person.equals(null)) 2.)IDにIntが含まれているかどうかを知る必要があります。 if(person.getId()==null){} しかし、javaはそれを許可しません。どうすればこのチェックを行うことができますか?
110 java  int 

3
JPA / Hibernateでのflush()の正しい使用
私はflush()メソッドに関する情報を収集していましたが、それをいつ使用し、どのように正しく使用するかについては明確ではありません。私が読んだことから、私の理解は、永続化コンテキストの内容がデータベースと同期される、つまり、未解決のステートメントを発行したりエンティティデータを更新したりすることです。 今、私は2つのエンティティAとB(1対1の関係で、JPAによって強制またはモデル化されていない)以下のシナリオを取得しました。A手動で設定される複合PKがあり、自動生成されたIDENTITYフィールドもありますrecordId。これrecordIdはへBの外部キーとしてエンティティに書き込む必要がありますA。私は、1つのトランザクションで保存AしBています。問題は、自動生成された値があることをA.recordId、私はの明示的な呼び出しを行う場合を除き、トランザクション内では使用できませんem.flush()呼び出した後em.persist()にA。(自動生成されたIDENTITY PKがある場合、値はエンティティで直接更新されますが、ここではそうではありません。) em.flush()トランザクション内で使用すると害が生じる可能性がありますか?

1
Java Loggingフレームワークのマーカーとは何ですか?それらを使用する理由は何ですか?
読んだときに初めてマーカーについて聞いた: http://slf4j.org/faq.html Loggerオブジェクトの使用可能なメソッドを確認します。 http://www.slf4j.org/api/org/slf4j/Logger.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html そして見つかったインターフェース: http://www.slf4j.org/api/org/slf4j/Marker.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html 私が得るより詳細な情報: http://logback.qos.ch/manual/filters.html しかし、まだ混乱しています... それらをどのように使用するかではなく、理由を尋ねるので注意してください。これは、以下の複製ではありません。 SLF4J / Logbackでマーカーを使用するためのベストプラクティス UPDATEマーカーを使用する場合、XMLまたは.propertyファイルで構成を行う代わりにカスタムJavaコードを記述する必要があるようです... 更新2 http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluatorから Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN"); logger.error(notifyAdmin, "This is a serious an error requiring the admin's attention", new Exception("Just testing"));
110 java  logging  log4j  slf4j  logback 

5
Javaでコンソールから単一の文字を読み取る方法(ユーザーが入力するとおり)?
ユーザーがJavaで入力しているときに、コンソールから単一の文字を読み取る簡単な方法はありますか?出来ますか?私はこれらの方法を試しましたが、すべてユーザーがEnterキーを押すのを待ちます: char tmp = (char) System.in.read(); char tmp = (char) new InputStreamReader(System.in).read (); char tmp = (char) System.console().reader().read(); // Java 6 Enterが押されるまで、System.inはユーザー入力を認識しないと思い始めています。
110 java  input  console 

12
日付に分を追加する方法
私はこの日付オブジェクトを持っています: SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm"); Date d1 = df.parse(interviewList.get(37).getTime()); d1の値は Fri Jan 07 17:40:00 PKT 2011 今、私は上記の日付に10分を追加しようとしています。 Calendar cal = Calendar.getInstance(); cal.setTime(d1); cal.add(Calendar.MINUTE, 10); String newTime = df.format(cal.getTime()); newTime変更の値ですが2011-50-07 17:50 、である必要があります07-01-2011 17:50。 分が正しく追加されますが、月も変わります。理由はわかりません!

5
Excelで機能するように、CSVファイルでカンマと音声マークをエスケープするにはどうすればよいですか?
CSVファイルを生成しています(タブではなくカンマで区切られています)。ユーザーは、CSVファイルをダブルクリックしてExcelで開く可能性があります。データにコンマとスピーチマークが含まれている可能性があるため、次のようにエスケープします。 Reference, Title, Description 1, "My little title", "My description, which may contain ""speech marks"" and commas." 2, "My other little title", "My other description, which may also contain ""speech marks"" and commas." 私が知る限り、それは常にそうする方法でした。これが私の問題です。Excel2010でこのファイルを開くと、エスケープが考慮されません。スピーチマークがシートに表示され、カンマによって新しい列が作成されます。

10
Java文字列に引用符を入力する方法は?
Javaで文字列を初期化したいのですが、その文字列には引用符を含める必要があります。例:"ROM"。私はやってみました: String value = " "ROM" "; しかし、それはうまくいきません。"文字列内にを含めるにはどうすればよいですか?
110 java  string  quotes  escaping 

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