如何从 kotlin 程序中使用 java 库?
How to use java library from kotlin program?
我正在用 Kotlin 编程。
我需要用到一个库,它是用java写的,来自maven central
我将依赖项放在我的 pom.xml
中,并且可以在我的 Kotlin 代码中导入库。
但是,我无法理解如何使用 Kotlin 的 java 库。
根据教程,在 Java 中,库应该用作(用于生成 PDF):
//Initialize writer
PdfWriter writer = new PdfWriter(dest);
//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);
//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));
//Close document
doc.close();
但是在Kotlin中我该怎么办,我尝试了以下方法:
import com.itextpdf.kernel.pdf.PdfDocument
import com.itextpdf.kernel.pdf.PdfWriter
class PDFService {
fun generateSimplePdf(value: String) {
println("I am generating a PDF for $value :)")
val writer: PdfWriter(dest)
val document: PdfDocument(writer)
}
}
但是 PdfWriter 和 PdfDocument 的参数给出:“意外的标记”。
我应该怎么做?以更一般的方式,是否有关于如何在 kotlin 中使用 java 的参考? (这个 documentation 不是很有帮助)。
来自Tenfour04的评论:
This has nothing to do with using Java classes in Kotlin. Your Kotlin
syntax is incorrect. Use val write = PdfWriter(dest)
. Note =
, not :
.
Same with your document line. The colon is for specifying the type. An
equal sign is for assigning a value. Type can usually be omitted
because it can be inferred from what you initially assign.
我正在用 Kotlin 编程。
我需要用到一个库,它是用java写的,来自maven central
我将依赖项放在我的 pom.xml
中,并且可以在我的 Kotlin 代码中导入库。
但是,我无法理解如何使用 Kotlin 的 java 库。
根据教程,在 Java 中,库应该用作(用于生成 PDF):
//Initialize writer
PdfWriter writer = new PdfWriter(dest);
//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);
//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));
//Close document
doc.close();
但是在Kotlin中我该怎么办,我尝试了以下方法:
import com.itextpdf.kernel.pdf.PdfDocument
import com.itextpdf.kernel.pdf.PdfWriter
class PDFService {
fun generateSimplePdf(value: String) {
println("I am generating a PDF for $value :)")
val writer: PdfWriter(dest)
val document: PdfDocument(writer)
}
}
但是 PdfWriter 和 PdfDocument 的参数给出:“意外的标记”。
我应该怎么做?以更一般的方式,是否有关于如何在 kotlin 中使用 java 的参考? (这个 documentation 不是很有帮助)。
来自Tenfour04的评论:
This has nothing to do with using Java classes in Kotlin. Your Kotlin syntax is incorrect. Use
val write = PdfWriter(dest)
. Note=
, not:
. Same with your document line. The colon is for specifying the type. An equal sign is for assigning a value. Type can usually be omitted because it can be inferred from what you initially assign.