2014年12月3日 星期三

[Java]Java String.Format 注意事項

今天在使用String.format 遇到一個小問題怕忘掉,紀錄下來。


























今天假設想要用String.format 輸出一個SQL如下 。我想要輸出一個SQL查詢下列表中AP開頭的name。



SELECT name, year   FROM "GirlFriend" where name LIKE 'AP%' 。












所以我在JAVA裡這樣寫

public class Demo2 {
    private final static String name="AP";
    public static void main(String[] args) {
        String sql=String.format("SELECT name, year "
                + "FROM \"GirlFriend\" where name LIKE '%s%'", name);        
        System.out.println(sql);
    }    
}
執行過程出現Exception
Exception in thread "main" 
java.util.UnknownFormatConversionException: Conversion = '%'

不可以這樣用,它會把%當做是你想要套用某種型別,但卻沒有一種指定型別。不妨換個寫法
public class Demo2 {
    private final static String name="AP";
    public static void main(String[] args) {
        String sql=String.format("SELECT name, year FROM \"GirlFriend\" where"
                + " name LIKE '%s%s'", name,"%");        
        System.out.println(sql);
    }    
}

沒有留言:

張貼留言