我对Java中的原始类型以及将一种类型转换为另一种类型的方法感到困惑。 如果,比方说,我有一个整数,我想将它转换为字符串,我需要使用一个Integer或String的静态方法,例如。
String.valueOf(some_integer);
但是如果我想将一个搅拌器转换成一个char数组,我可以使用像
这样的东西some_string.toCharArray();
我的问题是为什么?为什么我需要为第一个使用静态方法?
答案 0 :(得分:5)
因为你传递的参数 - int
是原语,而原语不是对象 - 你不能在它们上调用方法。
如果整数属于包装类型Integer
,则可以使用someInteger.toString()
答案 1 :(得分:3)
因为String不是基本类型,所以它是一个类(有方法),而integer,short,char等都是基元(没有方法)。
答案 2 :(得分:1)
因为原始类型就是原始类型。他们没有方法。
答案 3 :(得分:0)
但实际上,您不需要使用String.valueOf(某些int)。你可以做到
构建一个大字符串时:
logger.debug("I did " + myInt + " things today!" );
或如果单独
logger.debug( "" + myInt );
答案 4 :(得分:0)
原始类型中没有成员方法。而且,它们不是对象。为了使基本类型成为对象,我们可以使用包装器类。使用包装器类,您可以将int转换为Integer对象,并将char转换为Character对象,并且此列表继续。
回答您一个问题,字符串不是原始类型。因此,您可以使用String的Instance方法。而int是原始类型,因此您必须使用静态方法来实现相同的功能。