关于Java Primitive Types方法的问题

时间:2010-11-06 12:22:07

标签: java types primitive

我对Java中的原始类型以及将一种类型转换为另一种类型的方法感到困惑。 如果,比方说,我有一个整数,我想将它转换为字符串,我需要使用一个Integer或String的静态方法,例如。

String.valueOf(some_integer);

但是如果我想将一个搅拌器转换成一个char数组,我可以使用像

这样的东西
some_string.toCharArray();

我的问题是为什么?为什么我需要为第一个使用静态方法?

5 个答案:

答案 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是原始类型,因此您必须使用静态方法来实现相同的功能。