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

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

18
RecyclerViewの一番下までスクロールする方法は?scrollToPositionが機能しない
アクティビティを読み込んだ後、RecyclerViewリストの一番下までスクロールしたいと思います。 GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE); conversationView = (RecyclerView) findViewById(R.id.list_messages); conversationView.setHasFixedSize(true); conversationViewLayoutManager = new LinearLayoutManager(this); conversationView.setLayoutManager(conversationViewLayoutManager); conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this); conversationView.setAdapter(conversationViewAdapter); conversationView.scrollTo(...) RecyclerViewでサポートされていないという例外をスローし、 conversationView.scrollToPosition(...)何もしないようです。 上記のコードブロックの後に、 conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1) これは機能しません。には30個の要素がありますGENERIC_MESSAGE_LIST。

30
org.xml.sax.SAXParseException:コンテンツはプロローグでは許可されていません
Java Webサービスに接続されたJavaベースのWebサービスクライアントがあります(Axis1フレームワークに実装されています)。 ログファイルで次の例外が発生します。 Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) …
161 java  xml 

14
列挙型からランダムな値を選びますか?
私がこのような列挙型を持っている場合: public enum Letter { A, B, C, //... } ランダムに1つを選択する最良の方法は何ですか?本番品質の完全なものである必要はありませんが、かなり均等に配布することをお勧めします。 私はこのようなことができました private Letter randomLetter() { int pick = new Random().nextInt(Letter.values().length); return Letter.values()[pick]; } しかし、もっと良い方法はありますか?これは以前に解決された問題だと思います。
161 java  random  enums 

8
Java Garbage Collectionは循環参照とどのように連携しますか?
私の理解では、Javaのガベージコレクションは、他のオブジェクトがそのオブジェクトを「指し示していない」場合、一部のオブジェクトをクリーンアップします。 私の質問は、次のようなものがあればどうなるかです。 class Node { public object value; public Node next; public Node(object o, Node n) { value = 0; next = n;} } //...some code { Node a = new Node("a", null), b = new Node("b", a), c = new Node("c", b); a.next = c; } //end of scope …

10
Hibernateプロキシを実際のエンティティオブジェクトに変換する方法
Hibernateの実行中に、Session一部のオブジェクトをロードしていますが、一部のオブジェクトは遅延ロードによりプロキシとしてロードされます。すべて問題なく、遅延ロードをオフにしたくありません。 しかし、後で一部のオブジェクト(実際には1つのオブジェクト)をRPC経由でGWTクライアントに送信する必要があります。そして、この具象オブジェクトはプロキシです。だから私はそれを実際のオブジェクトに変える必要があります。Hibernateで「マテリアライズ」のようなメソッドを見つけることができません。 一部のオブジェクトをプロキシからクラスとIDを知っている実数に変えるにはどうすればよいですか? 現時点で私が目にする唯一の解決策は、そのオブジェクトをHibernateのキャッシュから削除して再ロードすることですが、それは多くの理由で本当に悪いです。


16
Javaとは何ですか?:呼び出された演算子とは何ですか?
私は数年前からJavaを扱ってきましたが、最近までこの構造に出くわしていません。 int count = isHere ? getHereCount(index) : getAwayCount(index); これはおそらく非常に単純な質問ですが、誰かが説明できますか?どうやって読むの?私はそれがどのように機能するか知っていると確信しています。 場合はisHeretrueで、getHereCount()呼ばれ、 isHere偽の場合はgetAwayCount()呼び出されます。 正しい?この構成は何と呼ばれますか?

15
Javaで参照により文字列を渡しますか?
私は次のことをすることに慣れていますC: void main() { String zText = ""; fillString(zText); printf(zText); } void fillString(String zText) { zText += "foo"; } そして出力は: foo ただし、Javaでは、これは機能しないようです。参照によって渡されるのでStringはなく、オブジェクトがコピーされるためと思います。文字列は常に参照によって渡されるオブジェクトであると思いました。 ここで何が起こっているのですか?

13
Javaで2つの引数をチェックします。どちらもnullでないか、どちらもエレガントにnullです
私は春のブートを使用して、メールの送信に使用するシェルプロジェクトを開発しました sendmail -from foo@bar.com -password foobar -subject "hello world" -to aaa@bbb.com fromおよびpassword引数がない場合は、デフォルトの送信者とパスワードを使用します(例:noreply@bar.comと)123456。 したがって、ユーザーがfrom引数を渡す場合、password引数も渡す必要があり、その逆も同様です。つまり、両方がnullでないか、両方がnullです。 これをエレガントにチェックするにはどうすればよいですか? 今私の方法は if ((from != null && password == null) || (from == null && password != null)) { throw new RuntimeException("from and password either both exist or both not exist"); }
161 java 

7
スーパークラスからサブクラスへの明示的なキャスト
public class Animal { public void eat() {} } public class Dog extends Animal { public void eat() {} public void main(String[] args) { Animal animal = new Animal(); Dog dog = (Dog) animal; } } 割り当てDog dog = (Dog) animal;はコンパイルエラーを生成しませんが、実行時にを生成しClassCastExceptionます。コンパイラがこのエラーを検出できないのはなぜですか?

7
2つのセットの違いを取得する
したがって、2つのセットがある場合: Set<Integer> test1 = new HashSet<Integer>(); test1.add(1); test1.add(2); test1.add(3); Set<Integer> test2 = new HashSet<Integer>(); test2.add(1); test2.add(2); test2.add(3); test2.add(4); test2.add(5); それらを比較し、4と5のセットのみを返す方法はありますか?
161 java  set 

5
JavaでArrayListをすべてゼロで初期化するにはどうすればよいですか?
arraylistプレサイジングの仕事をしていないようです: // presizing ArrayList<Integer> list = new ArrayList<Integer>(60); その後、私がそれにアクセスしようとすると: list.get(5) 0を返す代わりに、IndexOutOfBoundsException:インデックス5が長さ0の範囲外をスローします。 すべての要素をC ++のように正確なサイズの0に初期化する方法はありますか?
161 java  collections 

7
JerseyがInjectionManagerFactoryの動作を停止しましたが見つかりません
Tomcat 8.5.11でJersey APIを実行しているときに以下のエラーが発生し、APIが停止します。 HTTPステータス500-サーブレットJersey RESTサービスのServlet.init()が例外をスローしました タイプ例外レポート サーブレットJersey RESTサービスのメッセージServlet.init()が例外をスローしました 説明サーバーで内部エラーが発生したため、サーバーはこの要求を実行できませんでした。 例外 javax.servlet.ServletException:サーブレットJersey RESTサービスのServlet.init()が例外org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。 java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)org.apache.coyote.http11.Http11Processor。 service(Http11Processor.java:783)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:798)org.apache.tomcat.util。 net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)org.apache.tomcat.util.net.SocketProcessorBase。run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util。 threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745) 根本的な原因 java.lang.IllegalStateException:InjectionManagerFactoryが見つかりません。org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)org.glassfish.jersey.server.ApplicationHandler。 (ApplicationHandler.java:282)org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)org.glassfish.jersey.servlet。 ServletContainer.init(ServletContainer.java:370)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves。 アプリケーションは、gradleを使用して次の依存関係でビルドされます。 dependencies { compile ( // REST "org.glassfish.jersey.containers:jersey-container-servlet:2.+", "javax.servlet:javax.servlet-api:4.+", // REST Token "org.bitbucket.b_c:jose4j:0.+", // MongoDB "org.hibernate.ogm:hibernate-ogm-bom:5.+", "org.hibernate.ogm:hibernate-ogm-infinispan:5.+", "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.+", "org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.+", "org.jboss.narayana.jta:narayana-jta:5.+", "org.jboss:jboss-transaction-spi:7.+", …

8
配列は共変であるのにジェネリックは不変なのはなぜですか?
Joshua BlochのEffective Javaから、 配列は、2つの重要な点でジェネリック型と異なります。最初の配列は共変です。ジェネリックスは不変です。 共変とは、XがYのサブタイプの場合、X []もY []のサブタイプになることを意味します。文字列はオブジェクトのサブタイプなので、配列は共変です String[] is subtype of Object[] 不変とは、XがYのサブタイプであるかどうかに関係なく、 List<X> will not be subType of List<Y>. 私の質問は、なぜJavaで配列を共変にする決定をしたのですか?なぜ配列は不変なのにリストは共変なのかなどの他のSOの投稿があります。、しかしそれらはScalaに焦点を合わせているようで、私はついていけません。

14
Javaの同時実行性:カウントダウンラッチと循環バリア
私はを通読しているjava.util.concurrentのAPI、およびことがわかりました CountDownLatch:1つ以上のスレッドが、他のスレッドで実行されている一連の操作が完了するまで待機することを可能にする同期補助。 CyclicBarrier:一連のスレッドが互いに共通のバリアポイントに到達するのをすべて待機できるようにする同期補助。 私にはどちらも平等に見えますが、それだけではないでしょう。 たとえば、CoundownLatch, the countdown value could not be reset, that can happen in the case of CyclicBarrier。 2つの間に他の違いはありますか?誰かがカウントダウンの値をリセットしたいところ はuse casesどこですか?

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