天天动画片 > 八卦谈 > java基础-String.format的格式化与进制转换

java基础-String.format的格式化与进制转换

八卦谈 佚名 2024-03-01 12:22:52

在我们对一些字符串格式话的时候,会用到String.format(String format, Object... args),这里我们简单记录下能将字符串格式化为什么数据。

在前面的文章java数据类型中写过String是由多个char组成的对象,在java中,针对String提供了很多方法,其中format就可以将这个对象转化为不同的格式。

String.format方法:

/**
* Returns a formatted string using the specified format string and
* arguments.
* @param  format
* @param  args      
* @return  A formatted string
*
* @see  java.util.Formatter
* @since  1.5
*/
public static String format(String format, Object... args) {
   return new Formatter().format(format, args).toString();
}

/**
* Returns a formatted string using the specified locale, format string,
* and arguments.
*
* @param  l
*
* @param  format
* @param  args
* @return  A formatted string
*
* @see  java.util.Formatter
* @since  1.5
*/
public static String format(Locale l, String format, Object... args) {
   return new Formatter(l).format(format, args).toString();
}

两个方法都有的参数:

format:格式化的标准,或需要格式化为什么格式。

args:需要转换的参数,如果传入的参数多于需要转换的标准,则多传入的参数就会被忽略。

第二个方法中的参数:

l:这个参数将传入Formatter的构造方法中,构建不同的Formatter,它就是java中正常用来格式化的类。

对于Formatter,现在理解不够,等有实际使用的时候,再记录相关功能。

format参数的种类

在java.util.Formatter的源码中有很多不同的类型,我这里记录一下比较常用的,大家有需要不同的,可以去源码中查看。

参数说明%x十六进制%d十进制整数%o八进制%f十进制浮点%a十六进制浮点%c字符%s字符串

将序列号1转为16进制,长度为8字节(16位长度)。

代码:

String.format("%016x",1)

分析:

0: format的特殊标识,表示使用0补齐。(除了用0补齐,还可以使用空格)

16:指长度是16位。可以是任意十进制整数。

x:是代表十六进制。



本文标题:java基础-String.format的格式化与进制转换 - 八卦谈
本文地址:www.ttdhp.com/article/49822.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们