• 締切済み

J2SE5.0のGenericsについて

プロパティファイルから、キー名の昇順に値を取るために以下のようなコードを書きました。 ------------------------------------------ // プロパティファイルを読み込む Properties properties = new Properties(); properties.load(new FileInputStream(file)); // キーセットを取得する Set keySet = properties.keySet(); TreeSet keySet2 = new TreeSet(keySet); ------------------------------------------ しかし、最後の行で、以下のような警告?が出てしまいます。 ------------------------------------------ Type safety: The counstructor TreeSet(Collection) belongs to the raw type TreeSet References to generic type TreeSet<E> should be parameterized ------------------------------------------ おそらくGenericsに関連した警告だと思うのですが、いろいろいじってみても、警告が消えません。 動作に支障はないのですが気になります。 どうすれば警告が消えるでしょうか? ご存知の方がいたらお教え願えないでしょうか。 開発環境は以下のとおりです。 eclipse3.1 jdk1.5.0_02

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

試してはいませんが・ TreeSet<String> keySet2 = new TreeSet<String>(keySet); としてみたらどうでしょう

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

関連するQ&A

  • プロパティリストをVectorに出力したい場合

    プロパティファイルの中身をVectorに入れたいのですが、 APIを見ると、 list(PrintStream out) 指定された出力ストリームに、プロパティリストを出力します。 と書かれてありますが、PrintStream outの部分をどうやればいいのかかわかりません・・・。 ご教授いただけたら幸いです。 よろしくお願いします。 Properties prop = new Properties(); prop.load(new FileInputStream("./test.properties")); prop.list(???);

    • ベストアンサー
    • Java
  • Tomcatプロジェクトの.propertiesファイルの置き場

    当方、Tomcat5.0,Eclipseでサーブレットを開発しております。 初歩的な質問で申し訳ありませんが、プロパティファイルの置き場所が 分からず難儀しております。 どなたかご教示願います。 prop.load(new FileInputStream("C:/work/workspace/worktools/mail.properties")); 上記の様にフルパスを指定すると認識するのですが、 prop.load(new FileInputStream("mail.properties")); この様にパスを省略するとFileNotFoundExceptionが発生してしまいます。WEB-INF直下にファイルを置いてるのですが、間違いなのでしょうか?

    • ベストアンサー
    • Java
  • カタカナの「ソ」以降の文字が文字化けします

    propertiesファイルから文字列を読み込む処理を行っているのですが、文字列にカタカナの「ソ」がはいると、「ソ」自体とそれ以降の1文字が文字化けしてしまいます。 これには何か対処方法があるのでしょうか? こんな感じの処理を行っています。 【propertiesファイルの内容】 path=C:\\MyWork\\ソース\\download 【読み込み処理】 FileInputStream fis = new FileInputStream(propfile); Properties prop = new Properties(); prop.load(fis); String sjs_path = getString(prop.getProperty("path"); String uni_path = new String(sjs_path.getBytes("iso-8859-1"), "Shift_JIS"); アドバイスよろしくお願いいたします。

    • ベストアンサー
    • Java
  • Javaのプロパティファイルの文字化け対策

    いつもお世話になっております。 一連の質問で大分クリアになって来たのですが、まだ課題が残っています。 xxx.propertiesファイルを作成したとします。 プロパティに日本語を設定しました。 Java上でgetProperties()をすると文字化けしてしまいます。 初歩的な質問で申し訳ありませんが、具体的な対策をご教示願います。 public String getMailSubject() throws MailSendErrorException { String subject = null; try { Properties prop = new Properties(); // プロパティファイルからキーと値のリストを読み込む prop.load(new FileInputStream(this.properties)); subject = prop.getProperty("mail.subject"); } catch (Exception e) { e.printStackTrace(); throw new MailSendErrorException(); } return subject; } 上記のソースでmail.subjectに設定してある日本語文字列を取得したいのですが色々試しましたが上手く行きません。

    • ベストアンサー
    • Java
  • プロパティーのセット

    適当に「A.conf」等のファイルを作成し、 key=value を書いておきました。 FileInputStream propFile = new FileInputStream("socks.conf"); Properties p = new Properties(System.getProperties()); p.load(propFile); System.setProperties(p); のような使い方と、  System.getProperties().put(key,value); のような使い方の違いがわかりません。 また、セットした値を初期状態に戻す方法も教えていただけないでしょうか?  System.getProperties().remove(key); をするとkey自体が消去されてしまいます。 宜しくお願いします。

    • ベストアンサー
    • Java
  • ファイルパスが取得出来ない(Properties.getProperty使用)

    PropertiesクラスのgetPropertyメソッドを利用して 外部ファイルより値を取得しようとしています。 // ファイルパスの取得 java.util.Properties pr = new Properties(); pr.load(new FileInputStream("sample.properties")); String filePath = pr.getProperty("filePath"); fis.close(); // sample.properties filePath = C:\test\test.txt しかし、エスケープ記号?が問題で下記のようになり うまく取得出来ません。 filePath = C: est est.txt なぜこのような現象が起こるのでしょうか。 また、回避策はありますでしょうか。 よろしくお願いします。

  • パスがとおらない・・・

    以下のようなプロジェクトがあるとします。 tomcatproject | |-WEB-INF   |   |-conf(appli.properties)   |   |-src    |    |-test(TestServlet.java) TestServletの内容は以下の通りです。(一部省略) ---------------------------------------------------- private static Properties p = new Properties(); public void init(){  try {   p.load(new FileInputStream("/tomcatproject/WEB-INF/conf/appli.properties"));  } catch (FileNotFoundException e) {   e.printStackTrace();  } catch (IOException e) {   e.printStackTrace();  } } ---------------------------------------------------- PropertiesのloadにいったときにFileNotFoundExceptionが 発生してしまうのですが、いろいろ試した結果絶対パス以外は 通らないんです・・・。(C:\eclipse\workspace\........) どうやれば相対パスで通りますか? ご教授頂ければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • ファイルよりの文字列の取り込み(Properties)

    下記のプログラムでテキストファイルに"0x5C"を含む文字列を 取り込んだ時に文字化けしてしまいます。 テキストファイルに\\を付加する逃げ方は検索して発見しましたが \\を付加を付加せずに解決する方法は有りませんでしょうか? import java.io.FileInputStream; import java.util.Properties; public class Class1 {  public static void main (String[] args) {   try {    FileInputStream oFileInputStream = new FileInputStream("c:\\test.txt");    Properties oProperties = new Properties();    oProperties.load(oFileInputStream);    String sTmp1 = oProperties.getProperty("100001T");    String sBuf1 = new String(sTmp1.getBytes("8859_1"), "MS932");    String sBuf2 = new String(oProperties.getProperty("100001M").getBytes("8859_1"), "MS932");    System.out.println(sBuf1);    System.out.println(sBuf2);   } catch (Exception oException) {    oException.printStackTrace();   }  } } /* 実行結果 可狽ナす。可狽ナす。可狽ナす。可狽ナす。 可能です。 */ /* test.txtの内容 100001T=可能です。可能です。可能です。可能です。 100001M=可能\\です。 100001S=1 100001L=0 */

    • ベストアンサー
    • Java
  • 変数について

    プロパティファイルから読み取った値をほかのクラスから使いたいと考えて以下のような2つのクラスを作成しました。 [プロパティ読み取り] public class Admin{ public static String HOST; public static String ACCOUNT_NAME; public static String ACCOUNT_PASSWD; /** * * @throws java.io.IOException */ public Admin() throws IOException{ try{ // read from properties file.      Properties pro = new Properties(); pro.load(new FileInputStream("プロパティファイル")); HOST = pro.getProperty("host"); ACCOUNT_NAME = pro.getProperty("account.name"); ACCOUNT_PASSWD = pro.getProperty("account.password"); }catch(Exception e){ System.out.println(e); } System.out.println("Host: "+ HOST); System.out.println("User: "+ ACCOUNT_NAME); System.out.println("Password: "+ ACCOUNT_PASSWD); } } [変数使用] public class Update { public static void main(String[] args) { System.out.println("Host: "+ Admin.HOST); System.out.println("User: "+ Admin.ACCOUNT_NAME); System.out.println("Password: "+ Admin.ACCOUNT_PASSWD); } } Adminクラスの出力では、変数に正しい値がセットされていますが、Updateクラスではnullが返ります。 スコープの問題かと思うのですが、どこをどのように改良したらよいかわかりません。 nullではなく、正しい値を取得するにはどのようにすればよいでしょうか

    • ベストアンサー
    • Java
  • プロパティファイルの文字ばけについて

    現在、StrutsでWEBアプリ開発の練習を行っております。 Strutsのvalidatorで入力エラーになった場合、application.propertiesにあるメッセージを画面に表示したいのですが、 native2asciiでもプロパティエディタを使っても日本語が文字ばけします。 日本語を使わないと正しく表示されるため、ファイルは読み込んでいるものと解釈しております。 また、プロパティエディタなどでファイルを編集して開くと、ちゃんと日本語は意味不明なコードに変換されています。 struts-config.xmlには、 <message-resources parameter="aa.bb.application"> のようにメッセージリソースを設定してます(階層構造にしてるのが原因?)。 コンソールを見るとexceptionは出てないようですが、 application_ja.properties not Found application_ja_JP.properties not Found という警告が表示されます。 上記2つのプロパティファイルを作成すると、警告は消えますが相変わらず 文字ばけは直りません。 知識が乏しく何が起きているのかよく理解できません。 いろいろ調査してみたものの、解決方法が見つからず大変困ってます。 どなたか解決方法をご教示ください、お願いします。 以下のような環境で開発しております。 Java1.6 Eclipse3.2 Tomcat6 Struts1.3

    • ベストアンサー
    • Java