2016-12-19 34 views
0

我有這樣一段代碼:的Java HashSet的構造函數內聯

 manager.addAxiom(
      ontology,factory.getOWLSubClassOfAxiom(
        factory.getOWLClass("CCC", prefix), 
        factory.getOWLObjectIntersectionOf(
          Arrays.asList(
            factory.getOWLObjectComplementOf(
              factory.getOWLClass("AAA", prefix)), 
            factory.getOWLClass("AAA", prefix))))) ; 

正如你可以看到我使用Arrays.asList表示OWLClassExpressions的列表。 這適用於OWLAPI 5,但現在我必須對OWLAPI4執行相同的操作,它不支持List,但僅限Set。 如何轉換此代碼,這意味着使用Set類的內聯構造函數?

回答

1

你可以使用

manager.addAxiom(
      ontology,factory.getOWLSubClassOfAxiom(
        factory.getOWLClass("CCC", prefix), 
        factory.getOWLObjectIntersectionOf(
          new HashSet<T> (Arrays.asList(
            factory.getOWLObjectComplementOf(
              factory.getOWLClass("AAA", prefix)), 
            factory.getOWLClass("AAA", prefix)))))) ; 

其中T是陣列元件(例如OWLClassExpression)的類型。