前提・試した事
入力値を指定範囲に制限するといった単純なメソッドを作成しました。
しかし、//★解せない部分
と印をつけた以下のソースコードの行にて、キャストを行わなければエラーが出てしまうことに納得がいきません。いくらかの入門サイトを回ってみたところ、byte型の範囲で整数リテラルそのままでいいと説明されています。
個人的に気持ち悪いなと感じたので、該当箇所でキャストする以外に方法がないか質問させていただいた次第です。
発生している問題・エラーメッセージ
//★解せない部分
の行のキャストを外すと、引数(byte, int, int) に適用できません
と警告を出されてしまう。
該当のソースコード
java
1// テスト用のクラス内... 2static byte limit(byte n,byte min,byte max) { 3 if(n<min) 4 return min; 5 else if(max<n) 6 return max; 7 else 8 return n; 9 } 10 private static byte limit(byte n) { 11 return limit(n,(byte)0,(byte)100); //★解せない部分 12 }
補足情報(FW/ツールのバージョンなど)
Windows 10 / Eclipse ver 4.9.0 / JavaSE-1.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 14:54
退会済みユーザー
2018/11/15 14:57
2018/11/15 15:03