如何在Java中将String值解析为char类型?  
我知道如何进行int和double(例如Integer.parseInt("123"))。字符串和字符有类吗?
如何在Java中将String值解析为char类型?  
我知道如何进行int和double(例如Integer.parseInt("123"))。字符串和字符有类吗?
Answers:
您可以将.charAt(int)函数与字符串一起使用,以检索任何索引处的char值。如果要将String转换为char数组,请尝试在String上调用.toCharArray()。
String g = "line";
char c = g.charAt(0);  // returns 'l'
char[] c_arr = g.toCharArray(); // returns a length 4 char array ['l','i','n','e']
您可以使用此技巧:
String s = "p";
char c = s.charAt(0);
"123"成'1',是你追求的?
                    如果字符串长度为1个字符,则只需输入该字符即可。如果字符串的长度不是1个字符,则不能将其解析为一个字符。
 String string = "This is Yasir Shabbir ";
 for(char ch : string.toCharArray()){
 }
或者,如果您想单独使用,则可以
char ch = string.charAt(1);org.apache.commons.lang.StringEscapeUtils。(un)EscapeJava方法可以满足您的需求
从头脑不是我的答案:
将a转换String为a 的最简单方法char是使用charAt():
String stringAns="hello";
char charAns=stringAns.charAt(0);//Gives You 'h'
char charAns=stringAns.charAt(1);//Gives You 'e'
char charAns=stringAns.charAt(2);//Gives You 'l'
char charAns=stringAns.charAt(3);//Gives You 'l'
char charAns=stringAns.charAt(4);//Gives You 'o'
char charAns=stringAns.charAt(5);//Gives You:: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 5
这是完整的脚本:
import java.util.Scanner;
class demo {
    String accNo,name,fatherName,motherName;
    int age;
    static double rate=0.25;
    static double balance=1000;
    Scanner scanString=new Scanner(System.in);
    Scanner scanNum=new Scanner(System.in);
    void input()
    {
        System.out.print("Account Number:");
        accNo=scanString.nextLine();
        System.out.print("Name:");
        name=scanString.nextLine();
        System.out.print("Father's Name:");
        fatherName=scanString.nextLine();
        System.out.print("Mother's Name:");
        motherName=scanString.nextLine();
        System.out.print("Age:");
        age=scanNum.nextInt();
        System.out.println();
    }
    void withdraw() {
        System.out.print("How Much:");
        double withdraw=scanNum.nextDouble();
        balance=balance-withdraw;
        if(balance<1000)
        {
            System.out.println("Invalid Data Entry\n Balance below Rs 1000 not allowed");
            System.exit(0);
        }       
    }
    void deposit() {
        System.out.print("How Much:");
        double deposit=scanNum.nextDouble();
        balance=balance+deposit;
    }
    void display() {
        System.out.println("Your  Balnce:Rs "+balance);
    }
    void oneYear() {
        System.out.println("After one year:");
        balance+=balance*rate*0.01;
    }
    public static void main(String args[]) {
        demo d1=new demo();
        d1.input();
        d1.display();
        while(true) {//Withdraw/Deposit
            System.out.println("Withdraw/Deposit Press W/D:");
            String reply1= ((d1.scanString.nextLine()).toLowerCase()).trim();
            char reply=reply1.charAt(0);
            if(reply=='w') {
                d1.withdraw();
            }
            else if(reply=='d') {
                d1.deposit();
            }
            else {
                System.out.println("Invalid Entry");
            }
            //More Manipulation 
            System.out.println("Want More Manipulations: Y/N:");
            String manipulation1= ((d1.scanString.nextLine()).toLowerCase()).trim();
            char manipulation=manipulation1.charAt(0);
            System.out.println(manipulation);
            if(manipulation=='y') { }
            else if(manipulation=='n') {
                break;
            }
            else {
                System.out.println("Invalid Entry");
                break;
            }
        }   
        d1.oneYear();
        d1.display();   
    }
}
我可能有点晚了,但是我发现这很有用,将cadena理解为String,将左列标题理解为Convert to。:-)
更新:所以,我终于找回了密码,使用了可复制的文本进行了更新,以便其他人可以像往常一样复制和粘贴,而对于其他一些可以获取数据索引的文件(如果有的话)。:-)快乐的11月小胡子。
double  --> Double.parseDouble(String);
float   --> Float.parseFloat(String);
long    --> Long.parseLong(String);
int     --> Integer.parseInt(String);
char    --> stringGoesHere.charAt(int position);
short   --> Short.parseShort(String);
byte    --> Byte.parseByte(String);
boolean --> Boolean.parseBoolean(String);char    --> StringGoesHere.parseFloat(int position);正确吗?老实说,我没有检查过,但是我相当确定String没有parseFloat方法,即使有,我也看不出为什么要在那做。
                    如果要将String解析为char,而String对象表示多个字符,则只需使用以下表达式: char c =(char)Integer.parseInt(s)。其中s等于要解析的字符串。大多数人都忘记了char代表一个16位数字,因此可以成为任何数字表达式的一部分:)
char,就像intand 一样double。他甚至举了一个例子String“ 123”。和谁说,你不能转换char为String一个长度大于一个,再换更大?自己尝试char c = 123:String.valueOf((int) c).equals("123")返回true。
                    int。对于您的示例,您需要强制转换为int,这意味着您不是在使用原始版本char,而是使用一个int,它正好与原始版本相对应char。
                    您可以执行以下操作:
String str = "abcd";
char arr[] = new char[len]; // len is the length of the array
arr = str.toCharArray();String str = "abc"; char[] char_str = str.toCharArray();
                    您可以简单地使用toCharArray()将字符串转换为char数组:
    Scanner s=new Scanner(System.in);
    System.out.print("Enter some String:");
    String str=s.nextLine();
    char a[]=str.toCharArray();随笔:
public class CharToInt{  
public static void main(String[] poo){  
String ss="toyota";
for(int i=0;i<ss.length();i++)
  {
     char c = ss.charAt(i); 
    // int a=c;  
     System.out.println(c); } } 
} 对于输出,请参见以下链接:单击此处
谢谢 :-)
您可以将.charAt(int)函数与字符串一起使用,以检索任何索引处的char值。如果要将String转换为char数组,请尝试在String上调用.toCharArray()。如果字符串的长度为1个字符,则只需调用.charAt(0)(或C#中的.First())来获取该字符。