私はJDK1.6がジェネリック型パラメータ化について(エラーは単に警告なし)文句を言い、この方法は、地図で使用されていないしていると...:フォント属性の汎用マップはどのように指定できますか?
:public static Font getStrikethroughFont(String name, int properties, int size)
{
Font font = new Font(name, properties, size);
Map attributes = font.getAttributes();
attributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON);
Font newFont = new Font(attributes);
return newFont;
}
は、それから私は、次のように変更しました
public static Font getStrikethroughFont2(String name, int properties, int size)
{
Font font = new Font(name, properties, size);
Map<TextAttribute, ?> attributes = font.getAttributes();
attributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON);
Font newFont = new Font(attributes);
return newFont;
}
しかし
attributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON);
文は、もはや有効ではありません。
TextAttribute.STRIKETHROUGH_ON
はブール値です。
上記の方法で汎用タイプ機能を使用するにはどうすればよいですか?私はコアJavaの本を見てきましたが、答えは見つかりませんでした。誰も私を助けることができますか?
Map<TextAttribute, Object>
すべてのオブジェクトをスーパークラスとしてオブジェクトいるとあなたが、とにかく地図内の任意のプリミティブ型を置くことができない:私はよく質問を理解してきたわからないが、このことについてどのように
マップに配置する値は、常に「TextAttribute」ですか? –
どのような種類のエラーがスローされますか? http://download.oracle.com/javase/1.4.2/docs/api/java/util/Map.html#put(java.lang.Object、java.lang.Object) – Colin