ホーム>source
public class Main{
    public static void main(String[] args){
    Double doubleVal = Math.pow(2,16);
    Short shortVal = (Short) doubleVal;
     System.out.println(shortVal);
  }
}

このコードの問題

あなたの答え
  • 解決した方法 # 1

    Double をキャストできません   Short へ 。

    Double  および Short  両方とも Number から継承 、しかしそれらは関係ありません( Double   Short のスーパークラスではありません )

    最適なソリューションは、プリミティブを使用することです。

    double doubleVal = Math.pow(2,16);
    short shortVal = (short) doubleVal;
    
    

    ラッパータイプを使用する必要がある場合、プリミティブを使用して変換する必要があります。

    Double doubleVal = Math.pow(2,16);
    Short shortVal = doubleVal.shortValue();
    
    

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ Highcharts Stockchartツールチップ内に円グラフを配置する