题目
描述
我们需要一个可以将字符串转换为数字的函数。你知道怎样实现这一目标的方法?
注意:不用担心,所有输入都是字符串,每个字符串都是完整有效的整数表示。
例子
stringToNumber("1234") == 1234
stringToNumber("605" ) == 605
stringToNumber("1405") == 1405
stringToNumber("-7" ) == -7
测试用例:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class StringToNumberTest {
@Test
public void test1(){
assertEquals("stringToNumber(1234)", 1234 , StringToNumber.stringToNumber("1234"));
}
@Test
public void test2(){
assertEquals("stringToNumber(605)", 605 , StringToNumber.stringToNumber("605"));
}
@Test
public void test3(){
assertEquals("stringToNumber(1405)", 1405 , StringToNumber.stringToNumber("1405"));
}
@Test
public void test4(){
assertEquals("stringToNumber(-7)", -7 , StringToNumber.stringToNumber("-7"));
}
}
解题
My
public class StringToNumber {
public static int stringToNumber(String str) {
return Integer.parseInt(str);
}
}
后记
这题真是似曾相识,之前做了一个简单的数字转字符串,哈哈。
注意:
Integer.valueOf调用Integer.parseInt并将结果存入Integer对象,然后取消装箱此对象。因为该方法返回int,而不是Integer。要避免此装箱和拆箱,请直接使用Integer.parseInt。