关于Java基本类型方法的问题
我对 Java 中的原始类型以及将一种类型转换为另一种类型的方法感到困惑。 比如说,如果我有一个整数并且我想将其转换为字符串,我需要使用 Integer 或 String 的静态方法,例如
String.valueOf(some_integer);
但是如果我想将 Stirng 转换为 char 数组,我可以使用类似
some_string.toCharArray();
My问题是为什么?为什么第一个需要使用静态方法?
I'm confused with primitive types in Java and the methods of converting one type to another.
If, say, I have an integer and I want to convert it to a string, I need to use a static method of Integer or String, e.g.
String.valueOf(some_integer);
But if I want to convert a stirng to a char array I can use something like,
some_string.toCharArray();
My question is why? Why do I need to use a static method for the first one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
因为您传递的参数 -
int
是基元,而基元不是对象 - 您无法调用它们的方法。如果整数是包装类型
Integer
,您可以使用someInteger.toString()
Because the argument you pass - an
int
is a primitive, and primitives are not objects - you can't invoke methods on them.If the integer was of the wrapper type
Integer
, you could've usedsomeInteger.toString()
因为 String 不是基元类型,它是一个类(有方法),而整型、short、char 等都是基元类型(没有方法)。
Because String isn't a primitive type, it's a class (which has methods), whereas integer, short, char etc. are all primitives (which don't have methods).
因为原始类型就是原始类型。他们没有方法。
Because primitive types are just that, primitive. They don't have methods.
但实际上,您不需要使用 String.valueOf( some int )。您可以
在构建大字符串时执行以下操作:
或者如果单独执行
But to be realistic, you don't need to use String.valueOf( some int ). You can either do
when building a big string:
or if by itself
基本类型中没有成员方法。而且它们不是对象。为了将原始类型创建为对象,我们可以使用包装类。使用包装类,您可以将 int 转换为 Integer 对象,将 char 转换为 Character 对象,此列表继续。
回答你的问题 String 不是原始类型。所以你可以使用String的实例方法。而 int 是原始类型,因此您必须使用静态方法来实现相同的目的。
Primitive types doen't have member methods in them. Moreover they are not object. In order to make a primitive type as an Object we can make use of Wrapper Classes. Using wrapper classes you can convert int to Integer object and char to Character object and this list continues.
Answering to you question String is not a primitive type. So you can make of Instance methods of String. Whereas int is a primitive type so you have to make use of static methods to acheive the same.