gpt4 book ai didi

java - 编译时出现不兼容类型问题 - void to MimeMessage

转载 作者:行者123 更新时间:2023-12-01 19:01:10 33 4
gpt4 key购买 nike

我在编译应用程序时遇到问题,错误是:不兼容的类型:void 无法转换为 javax.mail.internet.MimeMessage

它出现在这部分代码中:

getEmailService().parseEmail(parseEmailRequest.getFileName(), parseEmailRequest.getFileContent());

方法如下:

private EmailService getEmailService() {
return new EmailService();
}

public MimeMessage parseEmail(String fileName, Part fileContent) {
return getParseEmailUseCase()
.withEmailFileStorage(getEmailFileStorage())
.withFilePathBuilder(getFilePathBuilder())
.withEmailParser(getEmailParser())
.withFileName(fileName)
.withFileContent(fileContent)
.run();
}

这很奇怪,因为我希望它作为变量消息

private void setEmailMessage(ParseEmailRequest parseEmailRequest) {
message = getEmailService()
.parseEmail(parseEmailRequest.getFileName(), parseEmailRequest.getFileContent());
}

消息是一个字段

private MimeMessage message;

这是当我收到错误并且删除消息并仅保留时:

getEmailService().parseEmail(parseEmailRequest.getFileName(), parseEmailRequest.getFileContent());

程序已编译。更重要的是,当我使用 IDE (intellij) 为上述代码分配变量时,会自动选择 MimeMessage ,因此这意味着 getEmailService().parseEmail(parseEmailRequest.getFileName(), parseEmailRequest .getFileContent()); 按照我的意愿返回 MimeMessage

以上所有内容都在 EmailHandler 类中发生。

我不明白错误消息中的 void 来自哪里,因为我的方法返回指定的类型。我在这里缺少什么?

最佳答案

getEmailService().(parseEmailRequest.getFileName(), parseEmailRequest.getFileContent());

应该是:

getEmailService().parseEmail(parseEmailRequest.getFileName(), parseEmailRequest.getFileContent());

您没有为代码提供太多上下文,但根据我的假设,您打算创建 message EmailService 内的对象。 getEmailService()返回对象 EmailService 的实例然后您可以调用 parseEmail()方法。请注意,如果 EmailService旨在作为某种工厂类,其他类如果使用 publicity 修饰符 private 将无法使用其方法。 .

关于java - 编译时出现不兼容类型问题 - void to MimeMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59636731/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com