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

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

26
ソートされた配列を処理する方が、ソートされていない配列を処理するよりも速いのはなぜですか?
OverаэтотвопросестьответынаStack Overflowнарусском:Почемуотсортированныймассивобрабатов、еессененеренененеререненееетсябыстре 以下は、非常に奇妙な動作を示すC ++コードの一部です。奇妙な理由で、データを奇妙にソートすると、コードがほぼ6倍速くなります。 #include <algorithm> #include <ctime> #include <iostream> int main() { // Generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] = std::rand() % 256; // !!! With this, the next loop runs faster. std::sort(data, data + arraySize); …

9
なぜこれらの2回の減算(1927年)が奇妙な結果をもたらすのですか?
次のプログラムを実行すると、2つの日付文字列を1秒間隔で参照して解析し、それらを比較します。 public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str3 = "1927-12-31 23:54:07"; String str4 = "1927-12-31 23:54:08"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld4-ld3); } 出力は次のとおりです。 353 (時間の1秒の差から予想されるように)なぜそうではld4-ld3ないのですか?1353 日付を1秒後に変更する場合: String …
6827 java  date  timezone 


30
JavaでInputStreamをどのように読み取り/変換しますか?
java.io.InputStreamオブジェクトがある場合、そのオブジェクトをどのように処理して、String? InputStreamテキストデータを含むがあり、それをに変換したいとしStringます。たとえば、それをログファイルに書き込むことができます。 を取得してInputStreamに変換する最も簡単な方法は何Stringですか? public String convertStreamToString(InputStream is) { // ??? }
4063 java  string  io  stream  inputstream 

30
!= nullステートメントの回避
object != null避けるためにたくさん使いますNullPointerException。 これに代わるものはありますか? たとえば、私はよく使用します: if (someobject != null) { someobject.doCalc(); } 以下のために、このチェックNullPointerExceptionのためにsomeobject上記のコード内のオブジェクト。 受け入れられた回答が古くなっている可能性があることに注意してください。最新のアプローチについては、https://stackoverflow.com/a/2386013/12943を参照してください。


11
Javaの+ =、-=、* =、/ =複合代入演算子がキャストを必要としないのはなぜですか?
今日まで、私は例えばそれを考えました: i += j; のショートカットでした: i = i + j; しかし、これを試してみると: int i = 5; long j = 8; その後i = i + j;はコンパイルされませんi += j;が、正常にコンパイルされます。 それは実際にi += j;はこのようなものへのショートカット であることを意味しi = (type of i) (i + j)ますか?

11
Android UserManager.isUserAGoat()の適切な使用例?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 Android 4.2で導入された新しいAPIを見ていました。UserManagerクラスを見ていると、次のメソッドに遭遇しました: public boolean isUserAGoat() この通話を行うユーザーがテレポーテーションの対象かどうかを判断するために使用されます。 この呼び出しを行っているユーザーが山羊であるかどうかを返します。 これはいつどのように使用する必要がありますか?
3633 java  android  usermanager 

30
配列からArrayListを作成する
私は次のように初期化された配列を持っています: Element[] array = {new Element(1), new Element(2), new Element(3)}; この配列をArrayListクラスのオブジェクトに変換したいと思います。 ArrayList<Element> arraylist = ???;

30
Javaの特定の範囲内でランダムな整数を生成するにはどうすればよいですか?
int特定の範囲でランダムな値を生成するにはどうすればよいですか? 私は以下を試しましたが、うまくいきません: 試み1: randomNum = minimum + (int)(Math.random() * maximum); // Bug: `randomNum` can be bigger than `maximum`. 試み2: Random rn = new Random(); int n = maximum - minimum + 1; int i = rn.nextInt() % n; randomNum = minimum + i; // Bug: `randomNum` can be smaller than …
3507 java  random  integer 

17
パスワードの文字列よりもchar []が推奨されるのはなぜですか?
スイングでは、パスワードフィールドには持っているgetPassword()(リターンchar[]の代わりに通常の)方法getText()(リターンString)メソッドを。同様に、Stringパスワードの処理に使用しないという提案を見つけました。 Stringパスワードに関して、なぜセキュリティを脅かすのですか?使い勝手が悪いchar[]です。
3422 java  string  security  passwords  char 




30
JavaでArrayListよりもLinkedListを使用する場合
私は常に単純に使用するものでした: List<String> names = new ArrayList<>(); 移植性のタイプ名としてインターフェースを使用しているので、このような質問をしたときにコードを書き直すことができます。 いつLinkedList、ArrayListまたはその逆に使用する必要がありますか?

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