Roa*_*oam 2 java string stringbuilder
我在调用
sb.append(i+"\n");
Run Code Online (Sandbox Code Playgroud)
哪里
StringBuilder sb= new StringBuilder();
int i.
Run Code Online (Sandbox Code Playgroud)
什么是i +"\n"转换到这里 - 一个String,一个StringBuffer,CharSequence,字符数组,......?
StringBuilder有append()每个接受一个param,它是一个Object,一个String,一个StringBuilder(这个是私有方法),一个StringBuffer,一个CharSequence参数,一个字符数组,...等等.我试图找出哪些被调用 - 希望避免调用String参数进行快速处理.
提前致谢.
每当操作符+应用于String任何其他类型的变量和变量时,您就具有String连接.价值i + "\n"是一个String.
在Java语言规范涵盖了这
如果只有一个操作数表达式是String类型,则对另一个操作数执行字符串转换(第5.1.11节)以在运行时生成字符串.字符串连接的结果是对String对象的引用,该对象是两个操作数字符串的串联.左侧操作数的字符位于新创建的字符串中右侧操作数的字符之前.
因此,append()被调用的方法是接受String参数的方法.
作为@scottb注释,Java首先将String串联中涉及的对象转换为String对象.这在String转换的JLS章节中有所描述.基元未包装到其包装类型中.如果引用不是null,则toString()在引用的对象上调用该方法.如果引用是null,则String "null"使用.
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |