問題タブ [reification]

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 投票する
2 に答える
8548 参照

java - 実行時に決定されるクラスへのキャスト

ビジネス オブジェクトfetchObjects(String)の配列を返すメソッドがあります。Contractパラメータは、className返すべきビジネスオブジェクトの種類を教えてくれます (もちろん、これはContracts を返すと言ったので、この解釈されたケースでは意味がありませんが、基本的には実際のシナリオでの状況です)。そこで、どこかからエントリのセットを取得し、コレクションのエントリのクラスをロードします (そのタイプは で指定されますclassName)。

ここで、返す配列を作成する必要があるため、SettoArray(T[])メソッドを使用します。リフレクションを使用して、空の Contracts 配列を作成します。しかし、これは私に static 型の値を与えますObject! 次に、適切な型にキャストする必要があります。この場合はContract[](下のリストの「アスタリスクの下線」の部分を参照)。

私の質問は次のとおりです。Contract[]リストで行っているようにキャストする方法と方法はありますが、配列要素 ( ) の型ContractclassNameを(または)のみentriesTypeで決定しますか? 言い換えれば、私がやりたいことは、基本的に次のようにキャストすること(entriesType[]) valueWithStaticTypeObjectです。classnameContract

これはどういうわけか本質的に不可能ですか、それとも何とかできるのでしょうか? たぶんジェネリックを使用していますか?

ありがとう。


更新: CodeIdoltoArrayから取得したタイプセーフなメソッドを使用して、メソッドを次のように更新しました。fetchObjects

コメントで引用されているコンパイラ エラーを取り除くにはどうすればよいですか? これが機能するように、メソッドSet<Contract>の戻り値の型を絶対に指定する必要がありますか? getEntrySetご指摘ありがとうございます。

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

database - バージョン管理された RDF ストア

これを言い換えてみます:

次の機能を備えた堅牢な RDF ストアまたはライブラリを探しています。

  • 名前付きグラフ、または具体化の他の形式。
  • バージョン追跡(おそらく名前付きグラフ レベル)。
  • 名前付きグラフまたはトリプル レベルでの、ユーザー グループ間のプライバシー。
  • TriGパーサーやシリアライザーなど、人間が読み取れるデータの入出力。

私はJenaSesameBocaRDFLibRedland、および他の 1 つまたは 2 つとしばらく前に遊んだことがありますが、それぞれに問題がありました。最近、上記の領域で改善されましたか? 私がやりたいことが他にできるでしょうか、それとも RDF はまだプライムタイムの準備ができていませんか?


この件についてもう少し読んでみると、次のことがわかりました。

0 投票する
5 に答える
36787 参照

java - Reifiedジェネリックとは何ですか? Type Erasure の問題をどのように解決し、大きな変更なしに追加できないのはなぜですか?

この件に関するNeal Gafter のブログを読みましたが、まだ多くの点で不明です。

Java、JVM、および既存のコレクション API の現在の状態で、型情報を保持するコレクション API の実装を作成できないのはなぜですか? これらは、後方互換性が維持される方法で、Java の将来のバージョンの既存の実装を置き換えることができませんか?

例として:

REIList は次のようなものです。

メソッドは Object o と Class klass を使用して型情報を取得します。

汎用クラス情報を保持するには、JVM 実装の変更だけでなく、言語の変更が必要になるのはなぜですか?

私は何を理解していませんか?

0 投票する
4 に答える
13274 参照

rdf - RDF での具体化の簡単な例

RDF での具象化の簡単な例を教えてくれる人はいますか? 正しく理解しているかどうかを確認したい。

たとえば、次のケースを提案します。

具体化の有無にかかわらず(つまり、具体化を必要しない単純な RDF ステートメントとして)どのように記述しますか?

0 投票する
13 に答える
11872 参照

java - Java が具体化されたジェネリックを持っていないことを気にする必要があるのはなぜですか?

これは、候補者が Java 言語に追加されることを望んでいたものとして、最近のインタビューで私が尋ねた質問として出てきました。Java が具体化されたジェネリックを持っていないことは、一般的に苦痛として認識されていますが、プッシュされたとき、候補者は実際に私に、それらがあった場合に達成できたであろう種類のことを教えてくれませんでした。

明らかに、生の型は Java (および安全でないチェック) で許容されるため、ジェネリックを覆してList<Integer>、(たとえば) 実際にStrings を含む になる可能性があります。型情報が具体化されていれば、これは明らかに不可能になる可能性があります。しかし、これ以上のものがあるに違いありません

人々は本当にやりたいことの例を投稿できますか?具体化されたジェネリックが利用可能でしたか? つまり、実行時に a の型を取得できることは明らかですが、Listそれをどうするのでしょうか?

編集:回答は主にパラメータとして a を渡す必要性について懸念しているように見えるため、これを簡単に更新しClassます(たとえば、EnumSet.noneOf(TimeUnit.class))。これが不可能な線に沿って何かをもっと探していました。例えば:

0 投票する
3 に答える
2428 参照

java - Java で具体化されたジェネリックについて何か言葉はありますか?

この質問は、おそらく具体的な回答よりも多くの議論を引き起こすことを私は知っています (私はそれが好ましくないことを知っています)。しかし、Oracle による最近の買収により、Java が (いつか) ジェネリックを具体化する可能性があるという言葉があったかどうか疑問に思っていました。Oracle が Java を少し強化したいと考えていると聞いたことがありますが、これ以上の方法は思い浮かびません。

0 投票する
4 に答える
2111 参照

c# - C# ジェネリックはプリミティブを持つコレクションにどのように影響しますか

私が理解しているように、C#/.Net ジェネリックはある程度の具体化をサポートしています。したがって、次のコードがあるとします。

値 1 は自動ボックス化されますか、それとも「リスト」オブジェクトはプリミティブ int を効率的に処理しますか?

0 投票する
3 に答える
3921 参照

generics - Scala: ジェネリック型に対するメソッドのオーバーロード

C# では、次の例に示すように、ジェネリック型でメソッドをオーバーロードできます。

ただし、Scala で同じことをしようとすると、コンパイル時エラーが発生しList[Int]List[Double]消去のために同じ型に消去されます。Scala の を使用してこれを回避できると聞きManifestましたが、方法がわかりません。ドキュメントにも役立つものは何も見つかりませんでした。

だから私の質問は: Manifests (または他の機能するもの) を使用して、消去のために同じ型に消去されるジェネリック型のメソッドをオーバーロードするにはどうすればよいですか?

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

rdf - 暗黙的な具象化のための単純な形式

ステートメントに関するステートメントを簡単に表現するための暗黙の具体化をサポートする RDF シリアライゼーション形式 ( Notation 3など) はありますか?

たとえば、「メアリーが家を買った」という文があるとします。N3 では次のように表します。

ここで、「ロブから聞いた」など、このステートメントに関するメタステートメントを追加したいとします。

直感的に、次のように記述してこれを表現できるようにしたいと思います。

ただし、これが N3 で「公式に」表現される方法は次のようになると思います。

これは明らかにもう少し複雑で読みにくいです。ステートメントについてのステートメントについてステートメントを作成する必要がある場合は、さらに複雑になります。例: 「ロブが通りを歩いているときに、ロブからこれを聞きました」。

これを RDF シリアライゼーション形式で表現する最も正確で簡単な方法は何でしょうか?

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

haskell - (機能的?)プログラミングの文脈で「具体化」と「具体化」はどういう意味ですか?

Haskellと関数型プログラミングに関するブログ(特にsigfpeのブログ)でこの用語をよく読んでいますが、それが何を意味するのかわかりません。ほとんどの場合、それを知らなくても大丈夫ですが、知っていれば、テキストをもっとよく理解できたでしょう。Googleは私を助けませんでした。私は技術的なもので迷子になります。

また、世界の非技術的な意味(「抽象的対象を変える」)は、コードで何かを具体化することが実際に何を意味するのかを理解するのに役立ちません。

私はコンピュータサイエンスの概念が少し遅いので、コードを使った実用的な例がいいでしょう。:P