• ベストアンサー

推奨されないAPIの作り方

お世話になります。 JavaAPIなどを見ていると推奨されないAPIというのがでてきます。 この推奨されないAPIというのは自分で作ることは可能なのでしょうか? JavaDocで@deprecation とつけると確かにJavaDocには反映されるのですが、 別にそのメソッドを呼んでコンパイルしても警告もなにもでないです。 以上よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

非推奨にするためのコメントの書き方を間違えていないか、もう一度確認してください。Javadoc 用のコメントに @deprecated タグをつけておけば、コンパイラが自動的に解釈してメッセージを出してくれます。 例) /** * サンプルのクラスです。 */ class Example {      /**    * サンプルのメソッドです。    * @deprecated このメソッドは非推奨です。    */   void method() {    System.out.println("非推奨メソッドを呼び出しました。");   }    }

chi-kon
質問者

お礼

返信が大変遅れまして、申しわけありません。 早速ご指摘どおりに試してみたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.3

No.2 の方が回答してくれてますが、 @deprecation ではなく @deprecated です。

chi-kon
質問者

お礼

ご回答ありがとうございます。 早速ご指摘どおりに試してみたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • ct27
  • ベストアンサー率62% (48/77)
回答No.1

javacコマンドのオプションに-deprecationというもの があるのでそれをつけてコンパイルしてみてはどうでしょう。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/javac.html
chi-kon
質問者

補足

ご回答ありがとうございます。 ご指摘頂いた方法はコンパイル時に 推奨されないAPIが使われていたときに詳しく教えてくれるものだという認識です。 推奨されないAPI自体を自分で作ることができるのかという質問なんです。 例えば 例外を投げるメソッドにthrows句をつけるとできるなど なにかマークというかキーワードがあるのかと思いまして...

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • java1.4→1.5 up時に推奨されなくなった場合の解決法

    javaの環境を1.4→1.5にしてソースをコンパイルしたら 警告: [deprecation] XXX(クラス名) の YYY(メソッド名)()は推奨されません。 と出ます。エラーではないのでしょうが、 推奨されなくなった場合の解決法がわかりません。 ドキュメントなどを見てもわかりませんでした。

  • -deprecationとは?

    ファイルをコンパイルしたところ、以下のメッセージが出ました。 「ListSample.java は推奨されない API を使用またはオーバーライドしています。 詳細については、-deprecation オプションを指定して再コンパイルしてください」 詳細を知りたいのですが、-deprecationというオプションはどうやって指定するのでしょうか?教えてください。

    • ベストアンサー
    • Java
  • Javaのコンパイルについて

    コンパイルを試したのですが、どうもうまくいきませんでした。 コマンドプロンプトの画面に ----------------------------------------------------------------- 注意: ●●●.japaは推奨されないAPIを使用またはオーバーライドしています。 注意:詳細は、Xlint:deprecationオプションを指定して再コンパイルしてください。 ----------------------------------------------------------------- と表示されます。 原因が分かりませんでした。よろしくお願いします。教えてください。

  • コンパイルができないのですが・・・

    JAVA初心者です!!コンパイルをしようと思うのですが、今までできたのに突然コンパイルエラーが起きました。わかる方いましたら教えていただけないでしょうか? メッセージは以下のとおりです。 注:MyFrame.javaは推奨されないAPIを使用またはオーバーライドしています。 注:詳細については、-Xlint:deprecation オプションを指定して再コンパイルしてください。

    • ベストアンサー
    • Java
  • APIにまつわる言葉の言い方

    APIにまつわる言い方で教えていただきたい意味があります。 (1)Eclipse で API を叩く → Android開発ならベースがJavaだからJava以外の言語でメソッドを呼び出すイメージ ですか? (2)ネイティブAPI → 機械語で書かれたAPIということですか? 以上よろしくお願いします。

  • Javaプログラミング1001Tipsより。

    Javaプログラミング1001Tipsの書籍にある例文をコンパイルしようとすると。 注:practice.javaは推奨されないAPIを使用またはオーバーライドしています。 注:詳細については-deprecationオプションをしていして再コンパイルしてください。 というエラーがでます。普通にコンパイルして実行するだけでは駄目なのでしょうか? import java.util.Date; class practice { public static void main(String arg[]) { Date now= new Date(); System.out.println(now.toGMTString().substring(12)); System.out.println(now.getHours() + ":" + now.getMinutes()); } }

  • eclipseで表示されるJavadocのツールチップが日本語で表示できない

     eclipse Europaで、pleiadesによる日本語化環境で開発しています。  eclipseにはメソッドなどの上にマウスをおくと、そのメソッドなどのJavadocが表示されるようになっていますが、プロジェクト > プロパティ > javadocロケーション で日本語のJava APIドキュメントを指定している(検証済み)にもかかわらず、これが日本語で表示されません。  これの改善策はありますでしょうか? pleiadesで日本語化しているために、eclipseが、使用している言語を英語であると認識してしまっているのかとも思いましたが・・・。

    • ベストアンサー
    • Java
  • Excel マクロで指定したファイルの削除

    いつもお世話になっております。 Excelのマクロで、指定したファイルの削除は可能でしょうか? Workbooks.Delete Filename:=○○○ 以上で出来るかなと思ったのですが、Deleteの部分が コンパイルエラー「メソッド またはデータメンバが見つかりません。」と警告されます。 Deleteを何に変更すればファイルの削除が行なえるのでしょうか? 以上、よろしくお願いいたします。

  • APIレベル

    AndroidStudioで新規プロジェクトの作成でGoogleマップアクティビティーを作成すると、地図を載せるFragmentがSupportMapFragmentで作成されます。これだActivityにFragmentを追加する時によく使うbeginTransaction().replaceがうまく行きません。自分のやり方がまずいんだと思いますが、SupportMapFragmentを調べると下記のようなこと書いてありました。 MapFragment オブジェクトをサポートするために、Google Maps Android API には API レベル 12 以降が必要です。API レベル 12 より前のアプリケーションを対象としている場合、同じ機能にアクセスするには SupportMapFragment クラスを使用します APIレベル12と言うことはHoneycomb MR1より前です。7年前くらいです。現在のAndroidパージョン別シェアを見てもAPI レベル 12 より前は1%もありません。 それで質問なのですが、今アプリを作る場合APIレベルはどのくらいまで対応させるのが普通なのでしょうか? またそれはどのような判断によるものでしょうか?

  • 推奨環境の見方がわからない。

    推奨環境のメモリとビデオカードの見方がわかりません。 オンラインゲームのwarrockの推奨環境です。 OS 日本語版 Microsoft Windows XP メモリ 512 MB 以上 ビデオ カード ATI Radeon 9200 以上 nVidia GeForce FX5700 以上 で、いま私の持っているパソコンは 物理メモリ 502MB 使用量 471MB 空き容量 30MB 仮想メモリ 1729MB 使用量 989MB 空き容量 739MB ビデオカードIntel(R)82915G/82910GL Express Chipset Family 推奨環境のメモリというのは物理メモリ、仮想メモリのどちらをいうのでしょうか? また物理メモリだった場合には、推奨環境まで残り10MBとなりますが、この分だけをふやすことはできないのでしょうか? また自分のビデオカードがの推奨環境以上のビデオカードかわかりません。 どなたか教えてください。 お願いします。