問題タブ [lambdaj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1010 参照

java - 単純選択でのlambdaJとClassCastException

私はアイデアを使い果たしました、グーグルも助けませんでした。ユースケースは些細なことのようですが、ClassCastExceptionで失敗します。何が間違っているのかわかりません。特定のカテゴリに一致する最初の要素を返す簡単な方法があります。見てみましょう。

実行すると、このスタックの最上位になります。

エンティティを保持しているhibernateの永続コレクションを操作するためにlambdaJを使用しているときに、同じ問題が発生しました。すでにプロキシであるオブジェクト(コレクション内のエンティティ)のプロキシに問題がある可能性があると想定して、あきらめました。カテゴリとすべての継承されたクラスは、結果トランスフォーマーとして休止状態に渡されるpojoであるため、私は間違っていたようです。

そのような行動の理由は何でしょうか?何か考えはありますか?

(私は最新のlambdaj-2.4を使用しています)。

マリオのリクエストを満たすために追加されました

コードは単純な列挙型です。カテゴリはさまざまなカテゴリの基本クラスであり、コードフィールドがあります。さらに、これはパブリック静的クラスであり、すべての継承クラスと同じです(重要な場合)。

失敗したテストを提供しようとします。

追加情報を提供するために再度編集します。 私の友人がコードを調べて、この問題に新鮮な明るい光を当てました。

私は最初から私たちの控除の道を再現しようとします。

//与えられた

アプリケーションは2つの部分に分かれています。1つはベースアプリケーション(モデルファイルを保持)とWebアプリケーション(バッキングBeanなどのUI接続ファイルを保持)です。 カテゴリとコードはモデルクラスであるため、ベースアプリケーションに配置されます。次に、いくつかのWebロジックの目的でサービスを提供するバッキングBeanがあり、特にそのBeanまたはそのコラボレーターがselectを呼び出します。

// いつ

アプリケーションをWebサーバーにデプロイしています!私の場合はJBossです。クラスはローダーによって読み取られますが、私が気付いていない非常に複雑なことが起こり、すべてアプリケーションを実行します。私はいくつかのWebアクションを実行し、そのバッキングBeanのメソッドが呼び出されます

アプリケーションのWeb部分から。

これが魔法です。Category.classとCode.classは、アプリケーションのロード時にUnifiedClassLoaderによってロードされました。on(Category.class)メソッドを使用しており、Categoryのプロキシが構築されます。いくつかの本当に絡み合ったロジックがそれを行うために利用されています。最も重要なのは、プロキシが装備されていることです。

メソッドですが、Callback.classはそのクラスローダーから取得されます

したがって、最初にそのクラスであるUnifiedClassLoaderをロードしたのはクラスローダーです。これがすべてきれいに行われたので、私たちはついに電話します

リフレクションを使用すると、次を探しているプロキシクラスが参照されます。Proxy.getDeclaredMethod( "setThreadsCallbacks"、new Class [] {Callback []。class});

私は事実を省略します、私は理解していません

この場合に重要なのは、Callback.classがUnifiedClassLoaderによって提供されないことです。アプリケーションはWebタイヤで実行されるため、Callback.classの呼び出しはWebアプリごとに行われます。クラスローダーとreturedCallback.classは、前述のsetThreadsCallbacks関数の引数として以前に配置されたものとは異なります。反射は残酷に失敗します。

そのため、失敗したテストを提供できませんでした。(同じクラスローダー)。

その場合の解決策はないと思います。

0 投票する
1 に答える
766 参照

java - lambdajによる複数のソート条件

lambdajで複数のソート条件を使用するにはどうすればよいですか?たとえば、最初に名前で、次に年齢で並べ替えられたリストを取得するには、次のようにします。

  • 名前と年齢
  • nameA 14
  • nameB 12
  • nameB 15
  • nameC 10
  • nameC 11

助けてくれてありがとう。

0 投票する
6 に答える
109399 参照

java - DTOパターン:2つのオブジェクト間でプロパティをコピーするための最良の方法

私のアプリケーションのアーキテクチャでは、通常、オブジェクトまたはオブジェクトのリストをデータアクセス層からサービス層を介してWeb層に送信します。この場合、これらのオブジェクトはDAOオブジェクトからDTOオブジェクトに、またはその逆に変換されます。WebレイヤーはDAOオブジェクトにアクセスできず、DAOレイヤーはDTOを使用しません。

実例を示すために、私は通常、コードを次のように記述します。

ここで、ユーザーはデータベースエンティティです。

そしてこれはUserDTOです:

したがって、これが2つのオブジェクト間でプロパティをコピーする唯一の方法であるかどうか疑問に思いました。よくわかりません。また、私はlambdajを使用しているので、これらすべてのプロパティをコピーして他のオブジェクトのリストを作成できるメソッドがこのAPIにありますか?

このトピックは主観的に聞こえるかもしれませんが、最大フィールドが同じ文字列を持っている場合に、ある形式から別の形式へのオブジェクトの変換を実行する方法を専門家から知りたいと思います。

0 投票する
1 に答える
4703 参照

java - lambdaj によるコレクションのフィルタリング

私はそのような2つのクラスを持っています:

今、注文のリストがあり、特定の内容のポジションを持つすべての注文を取得したいと考えています。現時点では、私はそのようにしています:

ラムダジでそれを行うより良い方法はありますか?

前もって感謝します。

0 投票する
2 に答える
623 参照

lambdaj - LambdaJ index() とキーの型変換

LambdaJ を調べ始めたところ、すぐに問題が発生しました。私は何か変なことをしているとは思いませんが、これを行う方法がわかりません。

管理者のリストがあります:

これらの管理者をマップしたいマップがあります:

問題は、Administrator クラスの ID が String ではなく Long であることです。だから、私は次のことを試しました:

これは機能しません。次のエラーで失敗します。

マップを Long を含むように変更し、toString() を取り除くと、エラーはなくなります。

これを行う正しい方法は何ですか?

0 投票する
1 に答える
1025 参照

android - AndroidのLambdaj NoClassDefFoundError

Android アプリで lambdaj を試していますが、最も単純なフィルタリング操作でさえリストされた例外で失敗します。例えば:

他の選択またはフィルターは、同じ次の例外で終了します。アイデアはありますか? 「Person」クラスは、関連する可能性がある場合、greenDAO クラスです.....ありがとう

0 投票する
0 に答える
99 参照

android - lambdaj ProxyUtil.createEnhancer 例外

私のAndroidアプリでラムダジを正常にインポートしましたが、フィルター、選択、またはグループ操作でこれが発生します:

簡単な操作は、たとえば次のとおりです。 Group<Person> groupedPersons= group(people,by(on(Person.class).getAge()));

0 投票する
1 に答える
680 参照

android - lambdaj が Android での呼び出しで java.lang.ExceptionInInitializerError に失敗する

Android でラムダジを使用しようとしていますが、単純な呼び出しを行うたびに例外 (java.lang.ExceptionInInitializerError) が発生します。

コレクションを満たすクラスは次のとおりです。

注釈は ORMLite によって使用されます。それらが何らかの形で関連する可能性がある場合に備えて、それらを残しました。私はそれを疑います。

そして今、次のような簡単な呼び出しをしようとすると、クラッシュします:

ログキャット:

私を困惑させているのは、Javaコンソールアプリケーションでまったく同じコードを試してみたところ、うまくいったことです...

なぜこれが Android で動作しないのか、何か考えはありますか?

ありがとう。

0 投票する
1 に答える
250 参照

lambdaj - 別のコレクションにネストされた条件でコレクションをフィルタリングする

このBean構造を持つ

文字列「abc」を含む Permission.Detail.name を持つ少なくとも 1 つの権限を持つユーザーのみを含むように、ユーザーのリストをフィルター処理するにはどうすればよいですか?