Java 是否可以只获取字符串的第一个字符?

Java 是否可以只获取字符串的第一个字符?,java,char,Java,Char,我在Java中有一个for循环 for (Legform ld : data) { System.out.println(ld.getSymbol()); } 上述for循环的输出为 垫 计算机辅助设计 计算机辅助设计 计算机辅助设计 现在我的问题是,是否可以只获取字符串的第一个字符,而不是整个Pad或CaD 例如,如果是Pad,我只需要第一个字母,即p 例如,如果是CaD,我只需要第一个字母,即C 这可能吗?String有一个charAt方法返回指定位置的字符。与数组和Lists一样

我在Java中有一个for循环

for (Legform ld : data)
{
    System.out.println(ld.getSymbol());
}
上述for循环的输出为

计算机辅助设计

计算机辅助设计

计算机辅助设计

现在我的问题是,是否可以只获取字符串的第一个字符,而不是整个Pad或CaD

例如,如果是Pad,我只需要第一个字母,即p
例如,如果是CaD,我只需要第一个字母,即C


这可能吗?

String
有一个
charAt
方法返回指定位置的字符。与数组和
List
s一样,
String
是0索引的,即第一个字符位于索引
0
处,最后一个字符位于索引
length()-1

因此,假设
getSymbol()
返回一个
字符串
,要打印第一个字符,可以执行以下操作:

System.out.println(ld.getSymbol().charAt(0)); // char at index 0
使用
ld.charAt(0)
。它将返回
字符串的第一个
字符


使用
ld.substring(0,1)
,您可以获得第一个字符,因为
String

Java字符串只是一个字符数组。char c=s[0],其中s是字符串

在这里,我从EditText中获取手机号码,它可能从+91或0开始,但我得到的是实际的10位数。 希望这对你有帮助

              String mob=edit_mobile.getText().toString();
                    if (mob.length() >= 10) {
                        if (mob.contains("+91")) {
                            mob= mob.substring(3, 13);
                        }
                        if (mob.substring(0, 1).contains("0")) {
                            mob= mob.substring(1, 11);
                        }
                        if (mob.contains("+")) {
                            mob= mob.replace("+", "");
                        }
                        mob= mob.substring(0, 10);
                        Log.i("mob", mob);

                    }

<强>回答C++ 14,< /强> < /p> 是的,您可以通过下面的代码片段获得字符串的第一个字符

string s = "Happynewyear";
cout << s[0];
string s=“Happynewyear”;

cout字符串有一个substring方法,该方法返回指定位置的字符串

String name="123456789";
System.out.println(name.substring(0,1));

唯一的问题是,结果值是<代码> char < />代码>不是<代码>字符串。C++或C++。在Java中,它可以工作,但前提是将字符串转换为char数组。例如,如下所示:
s.toCharArray()[0]
String name="123456789";
System.out.println(name.substring(0,1));