質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Q&A

解決済

1回答

3517閲覧

Javaのコンパイル時のエラー

Miken_work

総合スコア34

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

0グッド

0クリップ

投稿2019/10/07 07:51

コンパイルエラー

某プログラミング学習サイトにてjavaを学習させていただいてる初心者なのですが
下記のプログラムのコンパイルを試みますとエラー1が返ってきてしまいます。

###ソースコード

Java

1class JSampleRa2_1{ 2 public static void main(String args[]){ 3 int i = 84; 4 Integer oi = new Integer(i); 5 6 System.out.println(oi.intValue()); 7 8 /*オートボクシングを利用*/ 9 Long ol = 153L; 10 11 System.out.println(ol.longValue()); 12 } 13} 14

#####エラー1

error

1javac -encoding UTF-8 JSampleRa2_1.java 2注意:JSampleRa2_1.javaは推奨されないAPIを使用またはオーバーライドしています。 3注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。

エラー1に対して試したこと

注意の通り―Xlintのオプションを付けて再コンパイルしたところまた更にエラー2が返ってきました。

#####エラー2

error

1javac -Xlint:deprecation -encoding UTF-8 JSampleRa2_1.java 2JSampleRa2_1.java:4: 警告:[deprecation] IntegerのInteger(int)は推奨されません 3 Integer oi = new Integer(i); 4 ^ 5警告1個

###質問
この警告を無視するにはどのように対処をすればよろしいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この警告を無視するにはどのように対処をすればよろしいのでしょうか?

無視はしたくないので、他の方法でオブジェクトを生成するようにしてやります。

Java

1Integer oi = Integer.valueOf(i);

public Integer​(int value)

  • 非推奨。

このコンストラクタを使用することはほとんどありません。 静的ファクトリvalueOf(int)は、より良いスペースと時間のパフォーマンスをもたらす可能性が高いため、通常はより良い選択です。

指定されたint値を表す、新しく割り当てられたIntegerオブジェクトを構築します。

...

public static Integer valueOf​(int i)

指定されたint値を表すIntegerインスタンスを返します。 新規Integerインスタンスが不要な場合、通常このメソッドがコンストラクタInteger(int)に優先して使用されます。その理由は、このメソッドが頻繁に要求される値をキャッシュするので、操作に必要な領域や時間がはるかに少なくて済む場合が多いためです。 このメソッドは、-128から127の範囲(両端含む)の値を常にキャッシュしますが、この範囲に含まれないその他の値をキャッシュすることもあります。

引用元: Integer (Java SE 10 & JDK 10 )

投稿2019/10/07 07:53

編集2019/10/07 07:58
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2019/10/07 07:59 編集

途中で投稿してしまいました。編集するので少しお待ち下さい。 追記: 編集しました。
Miken_work

2019/10/07 07:59

今試してみたところ実行できました! 早々のご回答ありがとうございます!
LouiS0616

2019/10/07 08:04

推奨されないものには推奨されないだけの理由があるので、その背景も併せて学ぶようにすると納得感があると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問