Integer intObj=Integer.valueOf(args[args.length-1]);
时间: 2024-05-23 18:11:53 浏览: 9
这段代码的作用是将命令行参数中最后一个字符串转换成整数类型并存储在 Integer 对象 intObj 中。
具体解释如下:
1. `args` 是一个字符串数组,其中存储了命令行输入的所有参数。
2. `args.length-1` 表示最后一个参数的索引(因为数组索引从0开始),也就是我们要转换的字符串在数组中的下标。
3. `args[args.length-1]` 表示获取最后一个参数的值。
4. `Integer.valueOf()` 是一个静态方法,用于将字符串转换为 Integer 对象。
5. 将转换后的 Integer 对象赋值给 intObj 变量。
需要注意的是,如果最后一个参数不能转换为整数类型,则会抛出 NumberFormatException 异常。
相关问题
public class test { public static void main(String args[]) { Integer intObj=Integer.valueOf(args[args.length-1]); int i = intObj.intValue(); if(args.length > 1) System.out.println(i); if(args.length > 0) System.out.println(i - 1); else System.out.println(i - 2); } } 运行程序 , 输入如下命令: java test 2
运行程序后,会输出以下结果:
1
这是因为,输入的命令行参数只有一个,即 "2",所以 args.length 的值为 1,进入第一个 if 语句,输出 i 的值,即 2 的整数形式,为 2。
然后进入第二个 if 语句,也会输出 i - 1 的值,即 2 - 1,为 1。
因为 args.length 不大于 0,所以不会进入 else 语句。
String.valueOf 和 toString的区别
`String.valueOf()`和`toString()`都是用于将对象转换为字符串的方法,但它们之间有一些区别。
1. `String.valueOf()`方法:`String.valueOf()`是一个静态方法,它接受一个参数并返回与参数对应的字符串表示。这个方法可以处理各种类型的参数,包括基本数据类型和对象。如果参数是一个对象,它会调用对象的`toString()`方法来获取字符串表示。如果参数是`null`,它会返回字符串"null"。
以下是使用`String.valueOf()`的示例:
```java
int num = 10;
String str1 = String.valueOf(num); // "10"
Double d = 3.14;
String str2 = String.valueOf(d); // "3.14"
Object obj = new Object();
String str3 = String.valueOf(obj); // 调用obj的toString()方法来获取字符串表示
String str4 = String.valueOf(null); // "null"
```
2. `toString()`方法:`toString()`是一个定义在`Object`类中的方法,所有的Java对象都继承了这个方法。默认情况下,`toString()`返回一个包含对象类名和哈希码的字符串表示。但是,你可以根据需要在自定义类中重写这个方法,以便返回更有意义的字符串表示。
以下是重写`toString()`方法的示例:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 25);
String str = person.toString(); // "Person{name='John', age=25}"
}
}
```
在上面的示例中,`Person`类重写了`toString()`方法,以返回一个包含姓名和年龄的字符串表示。
总结来说,`String.valueOf()`是一个静态方法,用于将任何类型的参数转换为字符串表示,而`toString()`是一个在`Object`类中定义的方法,用于将对象转换为字符串。如果你需要获取一个对象的字符串表示,通常最好使用`toString()`方法,在自定义类中重写这个方法以提供更有意义的字符串表示。如果你只是想将其他类型转换为字符串,可以使用`String.valueOf()`方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)