Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在另一个字符串的开头插入字符串_Java_String - Fatal编程技术网

Java 在另一个字符串的开头插入字符串

Java 在另一个字符串的开头插入字符串,java,string,Java,String,如何在StringBuilder和字符串的开头插入一个用双引号括起来的字符串 例如: 我需要在“Sam”的开头插入字符串“Hello”,并且O/p是“Hello Sam” 我需要在“Jam”的开头插入字符串“Hello”,而O/p是“Hello Jam” 如何实现这一点?当然,请使用: 第一种情况使用方法完成: _sb.insert(0, "Hello "); 后一种情况可以使用字符串上的重载+运算符来完成。这将在幕后使用StringBuilder: String s2 = "Hello "

如何在StringBuilder和字符串的开头插入一个用双引号括起来的字符串

例如:

我需要在“Sam”的开头插入字符串“Hello”,并且O/p是“Hello Sam”

我需要在“Jam”的开头插入字符串“Hello”,而O/p是“Hello Jam”

如何实现这一点?

当然,请使用:


第一种情况使用
方法完成:

_sb.insert(0, "Hello ");
后一种情况可以使用字符串上的重载+运算符来完成。这将在幕后使用StringBuilder:

String s2 = "Hello " + _s;

最好使用
indexof()
方法查找引号,然后在该索引后面添加一个字符串

string s="hai";
int s=s.indexof(""");

其他答案解释了如何在另一个
string
StringBuilder
(或
StringBuffer
)的开头插入字符串

但是,严格来说,不能将字符串插入另一个字符串的开头。Java中的字符串是不可变的1

当你写作时:

String s = "Jam";
s = "Hello " + s;
实际上,您正在创建一个新的
字符串
对象,它是“Hello”和“Jam”的串联。实际上,您根本没有在现有的
字符串
对象中插入字符


1-从技术上讲,可以使用反射来打破
字符串
对象上的抽象并对其进行变异。。。即使它们是设计不变的。但这样做真的是个坏主意。除非您知道
String
对象是通过
new String(…)
显式创建的,否则它可以共享,也可以与其他
String
对象共享内部状态。最后,JVM规范明确指出,使用反射来更改
final
的代码行为是未定义的。
String
对象的突变是危险的。

import java.lang.StringBuilder;
公共课程{
公共静态void main(字符串[]args){
//创建一个新的StringBuilder。
StringBuilder=新的StringBuilder();
//循环并附加值。
对于(int i=0;i<5;i++){
建造商。附加(“abc”);
}
//转换为字符串。
字符串结果=builder.toString();
//打印结果。
系统输出打印项次(结果);
}
}
私有静态无效appendZeroAtStart(){
字符串strObj=“11”;
int-maxLegth=5;
StringBuilder sb=新的StringBuilder(strObj);

如果(sb.length(),你的意思是,在Hello的末尾插入字符串Jam吗?不,在Jam的开头插入字符串Jam,因为它将用Jam初始化字符串不包含
这不回答原始帖子,它使用字符串和StringBuilder,但它不包含”在StringBuilding的开头插入一个用双引号括起来的字符串。你怎么知道这在幕后使用了StringBuilder?@MasterJoe:阅读问题!
String s2 = "Hello " + _s;
string s="hai";
int s=s.indexof(""");
String s = "Jam";
s = "Hello " + s;
import java.lang.StringBuilder;

public class Program {
    public static void main(String[] args) {

    // Create a new StringBuilder.
    StringBuilder builder = new StringBuilder();

    // Loop and append values.
    for (int i = 0; i < 5; i++) {
        builder.append("abc ");
    }
    // Convert to string.
    String result = builder.toString();

    // Print result.
    System.out.println(result);
    }
}
private static void appendZeroAtStart() {
        String strObj = "11";
        int maxLegth = 5;

        StringBuilder sb = new StringBuilder(strObj);
        if (sb.length() <= maxLegth) {
            while (sb.length() < maxLegth) {
                sb.insert(0, '0');
            }
        } else {
            System.out.println("error");
        }

        System.out.println("result: " + sb);

    }