首页 > 试题广场 >

public class CharToString { p

[单选题]
public class CharToString {
 public static void main(String[] args)
 {
  char myChar = 'g';
  String myStr = Character.toString(myChar);
  System.out.println("String is: "+myStr);
  myStr = String.valueOf(myChar);
  System.out.println("String is: "+myStr);
 }
}
此代码片段输出正确的值是()
  • String is: g
    String is: g
  • String is: 103
    String is: g
  • String is: g
    String is: 103
  • String is: 103
    String is: 103
public static String toString(char c) { return String.valueOf(c); }
 public static String valueOf(char c) { char data[] = {c};  return new String(data, true); }
返回的都是字符串,只有char变成 int 的时候才会变为对应的assic码
编辑于 2019-07-31 15:24:42 回复(13)
记一下,只有char变为int才需要变数字
发表于 2020-06-15 19:07:27 回复(0)
String.valueOf(myChar);   //是将char类型的myChar转化成String类型

发表于 2019-12-05 22:05:24 回复(0)
//源码 toString调用String.valueOf() valueOf重载 返回不同的值

public static String toString(char c) { return String.valueOf(c);
}
public static String valueOf(int i) { return Integer.toString(i);
}
public static String valueOf(char c) { char data[] = {c}; return new String(data, true);
}

编辑于 2019-08-11 17:59:32 回复(0)
tostring调用的就是string.valueof方法
发表于 2019-09-01 09:43:00 回复(0)
public static String valueOf(char c)
返回参数char c的字符串表示形式。
编辑于 2019-08-04 21:54:47 回复(1)
mychar这个变量的类型没有变,所以依旧是字符型
发表于 2019-08-19 22:00:17 回复(0)
1、对于Character.toString()方法,底层源码:
public static String toString(char c) {
    return String.valueOf(c);
}
两者都会将单个字符'g'均通过String.valueOf(char c)方法转换为字符串包装类的实例对象。并进行字符串拼接,同时输出:
String is: g
2、String.valueOf(char c)源码(JDK12)如下:
public static String valueOf(char c) {
        if (COMPACT_STRINGS && StringLatin1.canEncode(c)) {
            return new String(StringLatin1.toBytes(c), LATIN1);
        }
        return new String(StringUTF16.toBytes(c), UTF16);
    }
因此每次调用String.valueOf(char c)方法均会新建一个字符串实例对象,对象引用指向的堆空间内存地址不同。
public static void main(String[] args) {
        char myChar = 'g';
        String myStr = Character.toString(myChar);
        System.out.println("String is: "+myStr);  // String is: g
        String myStr1 = String.valueOf(myChar);

        System.out.println("String is: "+myStr1);  // String is: g

        String myStr2 = String.valueOf('g');
        System.out.println(myStr2);  // 调用toString()方法,输出g
        System.out.println(myStr == myStr1);  // false
        System.out.println(myStr1 == myStr2);  //false
    }






发表于 2020-07-31 17:48:44 回复(0)
返回的都是字符串,只有char变成 int 的时候才会变为对应的assic码
发表于 2019-09-10 20:01:42 回复(0)
Character.toString()方法底层调用了String.valueOf() 而String.valueOf()方法是直接将传入的字符作为参数new一个新的字符串,因此返回值仍然是字符的字符串值
发表于 2021-05-05 08:45:14 回复(0)
返回的都是字符串,只有char变成int的时候才会变为对应的ASCII码值.....
发表于 2021-05-06 10:51:50 回复(4)
复习一下String的方法吧
返回值类型 方法和描述
static String valueOf(boolean b)
返回boolean参数的字符串boolean形式。
static String valueOf(char c)
返回char参数的字符串char形式。
static String valueOf(char[] data)
返回char数组参数的字符串char形式。
static String valueOf(char[] data, int offset, int count)
返回char数组参数的特定子阵列的字符串char形式。
static String valueOf(double d)
返回double参数的字符串double形式。
static String valueOf(float f)
返回float参数的字符串float形式。
static String valueOf(int i)
返回int参数的字符串int形式。
static String valueOf(long l)
返回long参数的字符串long形式。
static String valueOf(Object obj)
返回Object参数的字符串Object形式。 
发表于 2022-06-15 08:08:24 回复(0)
只有char变int才会变数字
发表于 2021-12-09 08:35:54 回复(1)
都是string的值。
发表于 2020-07-21 09:44:14 回复(0)
char 转成 int时 会变成对应的 ascii码
发表于 2023-06-24 15:57:51 回复(0)

String.valueOf()方法是将其他类型的值转换为string字符串。它可以接受不同类型的参数,包括基本类型、对象和null。如果参数为null,则返回字符串"null"。

Character.toString()方法底层调用了String.valueOf()

编辑于 2023-05-21 23:30:32 回复(0)
字符调用toString或者valueOf,都会变成字符串 只有转换为int时才会变成对应整数
发表于 2022-09-11 14:07:15 回复(0)
ASCII码必须得是int才行
发表于 2022-05-05 10:25:01 回复(0)
toString方法传入一个char然后返回一个String
根据传入类型不同重载不同方法,但是都是返回一个String值
发表于 2020-09-05 10:20:29 回复(0)
print和println,底层都会自动调用tostring方法
发表于 2020-05-25 12:15:16 回复(0)