java - 如何使用 kotlin 程序中的 java 库?
问题描述
我在 Kotlin 编程。
我需要使用一个库,它是用java编写的,来自 maven Central。
我将依赖项放入我的并可以在我的Kotlin代码pom.xml
中导入库。
但是,我无法理解如何使用 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 的参考?(这个文档不是很有帮助)。
解决方案
来自 Tenfour04 的评论:
这与在 Kotlin 中使用 Java 类无关。您的 Kotlin 语法不正确。使用
val write = PdfWriter(dest)
. 注意=
,不是:
。与您的文档行相同。冒号用于指定类型。等号用于赋值。类型通常可以省略,因为它可以从您最初分配的内容中推断出来。
推荐阅读
- c# - 在 UWP (C#) 中保存 m3u8 流
- angular - 为什么我会收到此警告?
- java - [GWT][Java] 科学记数法自动舍入?
- html - Angular Redirection 执行我的方法以及 NgOnInit。为什么?
- image - qt用鼠标在Qtextedit中调整图像大小
- android - OneSignal Cordova SDK handleNotificationRecieved 未触发
- awk - 限制区域 awk 文件
- typescript - 如何为具有可选属性的类型赋值?
- node.js - 如何在 Dockerfile 中的 CMD 标签下编写多个命令?
- regex - 使用 regex_findall 过滤输出