1

私はJavaベースのプログラムを学ぼうとしていますが、Javaはかなり初めてです。次の2行のJavaコードについてはかなり混乱しています。私の混乱は「クラス」や「キャスト」などの概念から来ていると思いますが、分析方法がわかりません。

これは

XValidatingObjectCorpus<Classified<CharSequence>> corpus
        = new XValidatingObjectCorpus<Classified<CharSequence>>(numFolds);

<Classified<CharSequence>>Javaプログラミングの観点から何に使用されますか?XValidatingObjectCorpusとの関係を理解する方法corpus

2つ目は

LogisticRegressionClassifier<CharSequence> classifier
            = LogisticRegressionClassifier.<CharSequence>train(para1, para2, para3)

の右側を理解する方法はLogisticRegressionClassifier.<CharSequence>trainLogisticRegressionClassifier.<CharSequence>trainとの違いは何LogisticRegressionClassifier<CharSequence> classifier ですか?

4

3 に答える 3

0
  • <Classified<CharSequence>>ジェネリックパラメータです。
  • LogisticRegressionClassifier<CharSequence>ジェネリック型です。
  • LogisticRegresstionClassifier.<CharSequence>train一般的な方法です。

JavaGenericsチュートリアル

于 2012-04-06T03:08:42.467 に答える
0

これらはジェネリックと呼ばれます。それらは、内部オブジェクトの型を使用して、外部クラスのインスタンスを作成するようにJavaに指示しXValidatingObjectCorpusます。LogisticRegressionClassifier

通常、これらはArrayListHashMapなどのリストと配列に使用されます。

XValidatingObjectCorpusとの関係は何corpusですか?

corpusXValidatingObjectCorpusは、そのステートメントで作成する新しいオブジェクトに付けられた名前にすぎません(したがって、その= new...部分です)。

どういうLogisticRegressionClassifier.<CharSequence>train意味ですか?

本当にわかりません。そのためのAPIを検討することをお勧めします(これは適切なクラスだと思います)。

LogisticRegressionClassifier.<CharSequence>trainとの違いは何LogisticRegressionClassifier<CharSequence> classifierですか?

これら2つを実際に比較することはできません。左側のもの=はオブジェクト識別子であり、右側のものはアロケータです(おそらく間違った単語ですが、それは一種のことです)。

一緒に、2つはのインスタンスを定義し、LogisticRegressionClassifierそのタイプのオブジェクトを作成し、それを呼び出してから、メソッドclassifierによって返される値を与えます。train()繰り返しになりますが、APIを見てさらに理解してください。


ちなみに、これらはJavaを学習するための惨めな例のように見えます。単純なもの、または少なくともコードのより簡単な部分から始めます。誰かが長い名前をとても楽しんでいたようです(APIにはさらに長い名前があります)。真面目な話ですが、私はこれを完全に理解するようになったばかりで、Javaはかなり長い間私の主要言語でした(単純なことをしようとすると本当に混乱します)。とにかく、頑張ってください!

于 2012-04-06T03:20:48.207 に答える
0
public class Sample<T> { // T implies Generic implementation, T can be substituted with any object. 

    static <T> Sample<T> train(int par1, int par2, int par3){
        return new Sample<T>(); // you are calling the Generic method to return Sample object which works with a particular type of generic object, may it be an Integer or a CharSequence. --> see the main method.

    }

    public static void main(String ... a)
    {
        int par1 = 0, par2 = 0, par3 = 1;
// Here you are returning Sample object which works with a sequence of characters.
        Sample<CharSequence> sample = Sample.<CharSequence>train(par1, par2, par3);
// Here you are returning Sample object which works with Integer values.
        Sample<CharSequence> sample1 = Sample.<Integer>train(par1, par2, par3);


    }

}
于 2012-04-06T03:21:42.750 に答える