0 3

Java String.format性能如何0

Java String.format性能如何?

问题补充:String format = "%s %s";
String str1 = "str1";
String str2 = "str2";
System.out.println(String.format(format,str1,str2));

System.out.println(str1 + " " + str2 );
String.format虽然书写方便,但是不知道其组合字符串是不是像str1+str2 拼接字符串的方式?相对于拼接字符串,String.format 性能更好还是更差
 
2012年9月01日 13:39

4个答案 按时间排序 按投票排序

0 0

我看上面回复废话都很多,就一句话,性能很差。
如果有空可以查看下源码,如果想性能高还是按照自己的特性去实现吧

2014年7月22日 11:05
0 0

1、你说的性能 是和 谁 进行比较?

2、在大部分时间我们注重的是简单和易用性,性能可以在后期优化;

3、String.format内部:

public static String format(String format, Object ... args) {
	return new Formatter().format(format, args).toString();
}


内部new了一个java.util.Formatter来委托处理,显然静态方法的说法站不住脚。

Formatter借鉴了C语言的printf,提供格式化字符串的解释程序。 以下来自JDK文档
引用
printf 风格的格式字符串的解释程序。此类提供了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持。支持诸如 byte、BigDecimal 和 Calendar 等常见 Java 类型。任意用户类型的受限格式化定制都是通过 Formattable 接口提供的。


比如小数点后保留两位
   Formatter.format("¥%.2f", 12.333);
格式化年月日
   Formatter.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", new Date())
等等。。。

重点在于提供格式化解释程序。

2012年9月01日 18:27
0 0

静态方法在程序开始时生成内存,实例方法也就是new Object().方法在程序运行中生成内存,
所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。
任何语言都是对内存和磁盘的操作,至于是否面向对象,只是软件层的问题,底层都是一样的,只是实现方法不同。
静态内存是连续的,因为是在程序开始时就生成了,而实例申请的是离散的空间,所以当然没有静态方法快,
而且静态内存是有限制的,太多了程序会启动不了。

2012年9月01日 13:44
0 0

静态方法String.format();效率应该比的对象.方法高

2012年9月01日 13:42

相关推荐

    Java占位符三种方案一起时间性能对比

    `String.format()` 是Java标准库提供的一种格式化字符串的方法,它源自C语言的printf风格。使用此方法,你可以通过在字符串中使用`%s`、`%d`等占位符,并传递相应的参数,来生成动态的字符串。例如: ```java ...

    java实现根据ip地址获取地理位置

    在Java编程中,根据IP地址获取地理位置是一项常见的需求,尤其在大数据分析、用户行为追踪或者安全防护等场景中。本文将介绍如何利用新浪和淘宝的API接口来实现这一功能。 首先,我们来看新浪的接口实现。新浪提供...

    实现MD5加密

    - **性能改进**:可以考虑使用StringBuilder替代StringBuffer,因为在单线程环境下StringBuilder的性能更好。 - **代码可读性**:增加注释以提高代码的可读性和维护性。 #### 五、应用场景 MD5加密因其高效的特性...

    JAVA string函数总结.docx

    ### JAVA String 类函数总结 #### 一、字符串创建与初始化 在 Java 中,`String` 类是最常用的字符串处理工具之一。它可以用来表示一系列字符,并且提供了丰富的方法来操作这些字符。下面通过示例代码展示了如何...

    android字符串格式化

    虽然`String.format()`非常方便,但在性能敏感的场景下应当谨慎使用,因为它涉及到字符串拼接操作,可能会造成性能开销。对于频繁使用的格式化字符串,可以考虑使用StringBuilder等更高效的手段。 #### 结论 字符...

    jsp、freemarker、velocity简介和对比

    Velocity也是一种高性能的Java模板引擎,它的设计初衷是为了使Java开发者能够快速地生成静态HTML页面,同时也支持生成XML、PDF等各种格式的文档。 - **优点**: - **易用性**:Velocity的模板语法简单直观,易于...

    mysql-connector-java-8.0.18.jar.7z

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用中连接和操作MySQL数据库。"mysql-...

    用Java读取.shp文件的工程文件

    buffer.write(String.format("%f,%f\n", coord.x, coord.y)); } buffer.close(); ``` 以上就是用Java读取`.shp`文件并写入坐标的基本步骤。在实际应用中,你可能还需要考虑其他因素,比如处理属性信息、错误...

    java String拼接时的问题汇总

    除了使用 += 运算符和 StringBuilder 之外,Java 还提供了其他字符串拼接方式,例如使用 String.format() 方法和 MessageFormat.format() 方法。 String.format() 方法 String.format() 方法可以用于格式化字符串...

    mysql-connector-java-8.0.13.jar.zip

    MySQL是世界上最受欢迎的开源数据库系统之一,而`mysql-connector-java-8.0.13.jar`是一个重要的组件,它是MySQL官方提供的Java数据库连接器,用于在Java应用程序中与MySQL数据库进行通信。这个JAR(Java Archive)...

    MD5_java封装

    hexString = String.format("%0" + padding + "d", 0) + hexString; } ``` 6. **输出结果**:最终得到的`hexString`就是字符串的MD5加密值,可以用于数据校验或者密码存储等场景。 以上就是使用Java对MD5进行封装...

    java String类的实现

    `String`类还提供了`format()`方法,用于格式化输出字符串,类似于C语言的`printf`函数。 ### 9. `compareTo()` 和 `equals()` - `compareTo(String anotherString)`:比较字符串的字典顺序,返回整数结果。 - `...

    免费版 Java Word控件-Free Spire.Doc for Java_2.0.0.zip

    Java Word控件-Free Spire.Doc for Java是一款专为Java开发者设计的高级文档处理库,它提供了强大的功能,允许用户在Java应用程序中创建、编辑、转换和显示Microsoft Word文档。这个2.0.0版本的免费版是开发人员进行...

    java中的String类常用方法解析(一)

    - `format(String format, Object... args)`:使用指定的格式字符串和参数创建新的`String`对象。 12. **哈希值** - `hashCode()`:返回字符串的哈希值,常用于散列数据结构如HashMap。 13. **比较** - `...

    有关Java String常用方法的总结.docx

    String str = String.format("%d %s", 100, "Java"); System.out.println(str); // 输出 "100 Java" ``` #### 三、String 常量池问题解析 在Java中,字符串字面量会自动放入常量池中,这是为了提高性能和减少内存...

    java中stringBuilder的用法实用.pdf

    与不可变的`String`类不同,`StringBuilder`允许我们在同一个对象上进行多次修改,而无需每次都创建新的字符串对象,从而节省了内存开销并提升了程序性能。 `StringBuilder`的初始化可以通过一个可选的初始容量参数...

    经典JAVA基础.txt

    String str = sdf.format(date); return str; } ``` ### 13. 编写判断质数的方法 质数是指大于1的自然数中只能被1和它本身整除的数。判断一个数是否为质数的简单方法是检查该数能否被2到根号n之间的任何数整除。...

    java中json格式转化所需jar包

    在Java开发中,处理JSON数据通常需要依赖特定的库,这些库提供了将Java对象转换为JSON字符串以及将JSON字符串解析回Java对象的功能。本篇文章将详细探讨Java中处理JSON的jar包以及相关知识点。 首先,Java中最常用...

    mysql-connector-java-8.0.13.jar.rar

    总结来说,`mysql-connector-java-8.0.13.jar`是Java应用程序与MySQL数据库进行通信的关键桥梁,它提供了丰富的功能和高性能的连接,使得开发者可以方便地利用Java语言开发与MySQL数据库交互的应用。正确配置和使用...

Global site tag (gtag.js) - Google Analytics