如何检查Java代码中的scala Option类型是否为None

jlp*_*jlp 1 java scala

我有Scala类,它将生成一个Option[StructType]将在Java函数中使用的值.在那个java函数中,我需要检查它是否Option[StructType]是Scala None.我怎么做?

Scala类:

class Person(columns : String) {
    val recordStruct : Option[StructType] = {
        if ( columns != null && !columns.isEmpty()) {
          Some(new StructType(fields.map(field => 
                              StructField(field, StringType, true)).toArray))
        } else {
            None
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)

Java功能:

StructType structure =  person.recordStruct().get();

// how to check if structure is None (in scala) ????

if (structure is None) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

Tza*_*har 5

Option<StructType> maybeStructure = person.recordStruct();
if (maybeStructure.isEmpty()) { 
    // do something if None
} else {
    StructType structure =  person.recordStruct().get();
    // now you can use structure...
}
Run Code Online (Sandbox Code Playgroud)