亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 java.lang.Boolean 轉換為 Scala Boolean

將 java.lang.Boolean 轉換為 Scala Boolean

牛魔王的故事 2021-10-20 14:48:31
我目前正在開發一個 Scala 應用程序,它利用 Spring-Boot 和 Swagger 來發送和接收 REST 調用。Swagger 和 Spring-Boot 是純 Java 項目,與 Scala 的兼容性有限,但我似乎找到了解決該問題的方法。由于 Spring-Boot 和 Swagger 將請求作為 Java 對象處理(需要 setter 和 getter 才能工作),因此我必須將請求視為 Java 對象并將請求轉換為稍后的請求。這是我所做的非常簡化的版本:case class ParamsAsJava(includeMovies: java.lang.Boolean = java.lang.Boolean.FALSE, includeTvShows: java.lang.Boolean = java.lang.Boolean.FALSE) {  def toScala(): Params = {    Params(      includeMovies = convertToScala(includeMovies),      includeTvShows = convertToScala(includeTvShows)    )  }  private def convertToScala(test: java.lang.Boolean): Boolean  = if (test == null) false else test.booleanValue}case class Params(includeMovies: Boolean = false, includeTvShows: Boolean = false)object Application extends App {  val test1 = ParamsAsJava(java.lang.Boolean.FALSE, java.lang.Boolean.TRUE).toScala  val test2 = ParamsAsJava(java.lang.Boolean.TRUE, java.lang.Boolean.TRUE).toScala  val test3 = ParamsAsJava().toScala  val test4 = ParamsAsJava(null, null).toScala  val test5 = ParamsAsJava(null, java.lang.Boolean.TRUE).toScala  println(s"Test 1 = $test1")  println(s"Test 2 = $test2")  println(s"Test 3 = $test3")  println(s"Test 4 = $test4")  println(s"Test 5 = $test5")}輸出測試 1 = 參數(假,真)測試 2 = 參數(真,真)測試 3 = 參數(假,假)測試 4 = 參數(假,假)測試 5 = 參數(假,真)好的...我的問題是:有沒有更簡單易讀的方法來實現這一目標?我每次都必須調用 ParamsAsJava.toScala 還是有一些很棒的 Scala 方法可以做到這一點?
查看完整描述

3 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我使用了 scala.Boolean boxunbox方法。


查看完整回答
反對 回復 2021-10-20
  • 3 回答
  • 0 關注
  • 279 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號