java—如何将scala变量持久化为对象类型

b5buobof  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(187)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

四天前关门了。
改进这个问题
我试图用scala代码(通过使用javax.mail.\package)发送一封带有附件的电子邮件。
//java实现:

BodyPart messageBodyText = new MimeBodyPart(); 
    messageBodyText.setText("Mail Body");

    MimeBodyPart messageBodyAttachment = new MimeBodyPart();
    messageBodyAttachment.attachFile(new File("C:\\Document1.txt"));

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyText);
    multipart.addBodyPart(messageBodyAttachment);

//在scala中的实现:

val messageBodyText = new MimeBodyPart().setText("hi")
    import java.io.File
    val messageBodyAttachment = new MimeBodyPart().attachFile( new File ("file path"))
    val multipart: MimeMultipart = new 
    MimeMultipart().addBodyPart(messageBodyText).addBodyPart(messageBodyAttachment)

java中的实现非常完美,因为messagebodytext和messagebodyattachment将保留为mimebodypart对象(请参阅java中的segment implementation下的java代码)
而在scala中(请参阅scala中段实现下的scala代码)
费用:
我希望变量messagebodytext和messagebodyattachment保持为mimebodypart对象,以适合addbodypart方法
实际上:
但实际上{new mimebodypart().settext(“hi”)}和{new mimebodypart().attachfile(new file(“file path”))}返回“unit”类型。请参见intellij显示表达式返回类型的屏幕截图
为什么scala在使用java方法之后还要转换成不同的数据类型?
如何将scala变量持久化为对象类型?我的意思是scala变量messagebodytext和messagebodyattachment是addbodypart方法的mimebodypart对象
如何将任何java表达式获得的原始数据类型恢复到scala变量中?

我尝试显式定义scala变量的数据类型,如下所示。但是表达式返回类型不符合变量数据类型

//attempted to explicitly define data type of mimeBodyText variable
    val mimebodyText: MimeBodyPart = new MimeBodyPart().setText("hi")

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题