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

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

4
Java 8で型を変換するreduceメソッドにコンバイナーが必要なのはなぜですか
combinerStreams reduceメソッドで果たす役割を十分に理解できません。 たとえば、次のコードはコンパイルされません。 int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str) -> accumulatedInt + str.length()); コンパイルエラーは言う:( 引数の不一致; intはjava.lang.Stringに変換できません) しかし、このコードはコンパイルします: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str ) -> accumulatedInt + str.length(), (accumulatedInt, accumulatedInt2) -> accumulatedInt + accumulatedInt2); 私はコンバイナーメソッドが並列ストリームで使用されていることを理解しています。つまり、私の例では、2つの中間累積整数を加算しています。 しかし、最初の例がコンバイナなしでコンパイルできない理由や、2つのintを加算するだけなので、コンバイナが文字列からintへの変換をどのように解決するのか理解できません。 誰かがこれに光を当てることができますか?
141 java  java-8  java-stream 

8
Jackson 2.2のObjectMapperからのJSONのきれいな印刷
現在、私はのインスタンスがorg.fasterxml.jackson.databind.ObjectMapperありString、かなりのJSON を取得したいと考えています。私のGoogle検索の結果はすべて、Jackson 1.xでこれを行う方法を思いついたので、2.2でこれを行う非推奨ではない適切な方法を見つけることができないようです。この質問にはコードが絶対に必要だとは思いませんが、ここに私が今持っているものがあります: ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(Include.NON_NULL); System.out.println("\n\n----------REQUEST-----------"); StringWriter sw = new StringWriter(); mapper.writeValue(sw, jsonObject); // Want pretty version of sw.toString() here
140 java  json  jackson 


3
Guava ImmutableMapの初期化
Guavaには、マップを初期化するための便利なショートカットが用意されています。ただし、マップを9つのエントリに初期化すると、次のコンパイラエラー(Eclipse Indigo)が表示されます。 of(K, V, K, V, K, V, K, V, K, V)タイプのメソッドImmutableMapは引数に適用できません (String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) ImmutableMap<String,String> myMap = ImmutableMap.of( "key1", "value1", "key2", "value2", "key3", "value3", "key4", "value4", "key5", "value5", "key6", "value6", "key7", "value7", "key8", "value8", …
140 java  dictionary  guava 

3
String.splitでエスケープするためにパイプ区切り文字が必要なのはなぜですか?
パイプで区切られた値を持つ各行を含むファイルを解析しようとしています。splitメソッドでパイプ区切り文字をエスケープしないと正しく機能しませんでしたが、以下のようにパイプをエスケープした後は正しく機能しました。 private ArrayList<String> parseLine(String line) { ArrayList<String> list = new ArrayList<String>(); String[] list_str = line.split("\\|"); // note the escape "\\" here System.out.println(list_str.length); System.out.println(line); for(String s:list_str) { list.add(s); System.out.print(s+ "|"); } return list; } split()メソッドでパイプ文字をエスケープする必要がある理由を誰かが説明できますか?
140 java  regex  string 

8
!=チェックスレッドは安全ですか?
などの複合操作i++は複数の操作を伴うため、スレッドセーフではありません。 しかし、それ自体で参照をチェックすることはスレッドセーフな操作ですか? a != a //is this thread-safe 私はこれをプログラムして複数のスレッドを使用しようとしましたが、失敗しませんでした。私のマシンではレースをシミュレートできなかったと思います。 編集: public class TestThreadSafety { private Object a = new Object(); public static void main(String[] args) { final TestThreadSafety instance = new TestThreadSafety(); Thread testingReferenceThread = new Thread(new Runnable() { @Override public void run() { long countOfIterations = 0L; while(true){ boolean …

6
Java:マップ機能はありますか?
マップ機能が必要です。このようなJavaの何かはすでにありますか? (不思議に思う人のために:もちろん私はこの些細な機能を自分で実装する方法を知っています...)
140 java  map-function 

10
java.lang.UnsupportedClassVersionError:.classファイルのバージョン番号が間違っていますか?
ソースからコンパイルしなければならないオープンソースライブラリを含めると、このエラーが発生します。現在、Web上のすべての提案は、コードが1つのバージョンでコンパイルされ、別のバージョン(新旧)で実行されたことを示しています。ただし、システムにJREのバージョンは1つしかありません。コマンドを実行すると: $ javac -version javac 1.5.0_18 $ java -version java version "1.5.0_18" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02) Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode) そしてEclipseでJavaライブラリのプロパティをチェックしてください、私は得ます 1.5.0_18 したがって、クラス自体の内部で何か例外をスローしていると結論する必要がありますか?それは可能ですか?
140 java  version 

11
Javadocの良い例[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する Javadocを含むソースファイルの良い例はありますか? 私はインターネット上でJavadocの良い例をたくさん見つけることができます。それらを作成するために使用される特定の構文を見つけたいと思います。どこかでライブラリのソースを調べられると思いますが、それは大変な作業のようです。
140 java  javadoc 

11
JavaでcurrentTimeMillisを日付に変換する方法は?
サーバーで生成された特定のログファイルにミリ秒があります。ログファイルが生成されたロケールもわかっています。問題は、ミリ秒を指定された形式の日付に変換することです。そのログの処理は、異なるタイムゾーンにあるサーバーで行われています。"SimpleDateFormat"プログラムへの変換中は、マシンの日付が取得されるため、フォーマットされた日付はサーバーの正しい時刻を表していません。これをエレガントに扱う方法はありますか? long yourmilliseconds = 1322018752992l; //1322018752992-Nov 22, 2011 9:25:52 PM SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); calendar.setTimeInMillis(yourmilliseconds); System.out.println("GregorianCalendar -"+sdf.format(calendar.getTime())); DateTime jodaTime = new DateTime(yourmilliseconds, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central"))); DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS"); System.out.println("jodaTime "+parser1.print(jodaTime)); 出力: Gregorian Calendar -2011-11-23 08:55:52,992 jodaTime 2011-11-22 21:25:52,992
140 java  date 

11
警告-ビルドパスは実行環境J2SE-1.4を指定します
Eclipse HeliosでMavenプロジェクトを作成します。1日は問題なく動作しますが、次の警告が表示されます。 ビルドパスは、実行環境J2SE-1.4を指定します。この環境と完全に互換性のあるJREがワークスペースにインストールされていません。 このメッセージ以降、プロジェクトはコンパイルとデバッグを停止しました。誰かがこの問題の解決策を持っていますか?
140 java  eclipse  maven-2 

5
Javaの仮想マシンとCLR
MSILとJavaバイトコードの違いと呼ばれる質問への一種のフォローアップとして?、Java Virtual Machineの動作方法とJava Virtual Machineの動作方法の(主な)相違点または類似点。ネットフレームワーク 共通言語ランタイム(CLR)は機能しますか? また、 。ネットフレームワーク CLRは「仮想マシン」ですか、それとも仮想マシンの属性を持っていませんか?

11
Spring Securityを使用した単体テスト
私の会社では、Spring MVCを評価して、次のプロジェクトの1つで使用するかどうかを決定しています。これまでのところ、私は今まで見たことを気に入っています。今は、Spring Securityモジュールを調べて、それが私たちが使用できる/すべきかどうかを判断しています。 私たちのセキュリティ要件はかなり基本的なものです。ユーザーは、サイトの特定の部分にアクセスできるように、ユーザー名とパスワードを提供できる必要があります(アカウントに関する情報を取得するなど)。サイトには、匿名ユーザーにアクセスを許可するページ(FAQ、サポートなど)がいくつかあります。 私が作成しているプロトタイプでは、認証されたユーザーのSessionに "LoginCredentials"オブジェクト(ユーザー名とパスワードのみが含まれています)を格納しています。一部のコントローラは、このオブジェクトがセッションにあるかどうかを確認して、たとえばログインしたユーザー名への参照を取得します。私はこの自家製ロジックを代わりにSpring Securityで置き換えようとしています。これは、「ログインしたユーザーをどのように追跡するのか」を削除するという素晴らしい利点があります。そして「ユーザーをどのように認証するのか?」私のコントローラー/ビジネスコードから。 Spring Securityは、アプリ内のどこからでもユーザー名/プリンシパル情報にアクセスできるようにする(スレッドごとの)「コンテキスト」オブジェクトを提供しているようです... Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); ある意味、このオブジェクトは(グローバル)シングルトンなので、これは非常に非Springのようです。 私の質問はこれです:これがSpring Securityで認証されたユーザーに関する情報にアクセスする標準的な方法である場合、ユニットテストで必要なときにユニットテストで利用できるように、AuthenticationオブジェクトをSecurityContextに注入するための受け入れられた方法は何ですか?認証済みユーザー? これを各テストケースの初期化メソッドに関連付ける必要がありますか? protected void setUp() throws Exception { ... SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(testUser.getLogin(), testUser.getPassword())); ... } これは過度に冗長に見えます。もっと簡単な方法はありますか? SecurityContextHolderオブジェクト自体は、非常に非春のように思えます...

8
Javaに定数機能がないのはなぜですか?
Javaで定数の背後にある理由を特定しようとしていましたが、Javaではfinalキーワードを使用して定数を宣言できることがわかりました。 私の質問は、Javaが定数(const)機能を導入しなかった理由です。多くの人がC ++から来たと言っているので、C ++にはconstキーワードがあります。 あなたの考えを共有してください。
140 java  constants  final 

7
Java用SQLパーサーライブラリ[終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 SQLステートメントを解析するためのオープンソースのJavaライブラリはありますか? 可能であれば、ベンダー固有の構文(Oracleテーブルスペース定義やMySQLのLIMIT句など)も解析(または少なくとも無視)できるように、カスタマイズ可能または柔軟である必要があります。 そうでない場合は、SQL標準に厳密に従うことも問題ありません。 更新:これは2つのことのために必要です: 非SQLデータベースへのSQLインターフェースの提供(内部API呼び出しへのマッピング) 実際のデータベース(Oracleなど)に移行する前にSQLを書き直す
140 java  sql  parsing 

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