0
此程序返回給定輸入的所有同義詞。但是這個代碼是針對java 1.8的。 如何轉換此代碼爲Java 1.6。Lambda表達式將Java 1.8代碼轉換爲Java 1.6
model.listIndividuals().forEachRemaining(ind -> {
if(((Resource)ind).getLocalName().toString().equalsIgnoreCase(input)){
System.out.println("Synonyms of " + ((Resource)ind).getLocalName().toString() + " are:");
ind.listPropertyValues(isSynonymOf).forEachRemaining(val -> {
System.out.println(" * " + ((Resource) val).getLocalName().toString());
});
}
});
不平凡。首先,Java 1.6(和1.7)是生命的終結;爲什麼你必須使用它?其次,[scala 2.11.1](http://www.scala-lang.org/news/2.11.1)在Java 6上運行;並確實有lambda(但語法略有不同)。 –
@Elliott Frisch實際上,我不得不使用Java 1.6。我不知道如何轉換上面的代碼(重寫)爲Java 1.6 – Tolga
['Iterator.forEachRemaining(java.util.function.Consumer)'](https://docs.oracle.com/javase/8/docs/api /java/util/Iterator.html#forEachRemaining-java.util.function.Consumer-)Javadoc說(部分)*默認實現的行爲如下:'while(hasNext())action.accept(next()); '*(你可以在Java 1.6中實現),或者你可以使用scala。我不會爲你轉換這個,因爲這不是一個代碼寫作服務,我即將上牀睡覺,而且我無法測試它。 –