文章目录 1.使用Long.valueOf(String) 2.使用Long.parseLong(String) 3.使用new Long(String)构造函数 4.NumberFormatException 学会使用Java中的Long.parseLong(Strin……
文
章
目
录
- 1.使用Long.valueOf(String)
- 2.使用Long.parseLong(String)
- 3.使用new Long(String)构造函数
- 4.NumberFormatException
学会使用Java中的Long.parseLong(String)、Long.valueOf(String)方法和new Long(String)构造函数将字符串转换为Long类型。
String number = \"2018\"; //String
long value1 = Long.parseLong( number, 10 );
long value2 = Long.valueOf( number );
long value3 = new Long( number );
1.使用Long.valueOf(String)
Long.valueOf()方法将输入的字符串解析为带符号的十进制long类型。字符串中的字符必须都是十进制数字,除了第一个字符可以是负号(-)表示负数,也可以是正号(+)表示正数。
结果的long值与基数10中的字符串参数完全相同。在下面的示例中,我们将一个正数和一个负数转换为long值。
String positiveNumber = \"+12001\";
long value1 = Long.valueOf(positiveNumber); //12001L
String negativeNumber = \"-22002\";
long value2 = Long.valueOf(negativeNumber); //-22002L
如果字符串无法解析为long类型,它会抛出NumberFormatException异常。
Assertions.assertThrows(NumberFormatException.class, () -> {
Long.valueOf(\"alexa\");
});
2.使用Long.parseLong(String)
Long.parseLong(String)方法的规则与Long.valueOf(String)方法相似。
它将字符串参数解析为带符号的十进制长整型值。 字符串中的字符必须都是十进制数字,除了第一个字符可以是负号(-)表示负数,也可以是正号(+)表示正数。 结果的long值与基数10中的字符串参数完全相同。 再次,我们将使用parseLong() API将一个正数和一个负数转换为long值。
String positiveNumber = \"+12001\";
long value1 = Long.parseLong(positiveNumber); //12001L
String negativeNumber = \"-22002\";
long value2 = Long.parseLong(negativeNumber); //-22002L
如果输入的字符串属于另一个进制,那么我们可以将进制作为方法的第二个输入参数传递。
String numberInHex = \"-FF\";
// 将其按照十六进制解析
long value = Long.parseLong(numberInHex, 16); //-255L
3.使用new Long(String)构造函数
另一种有用的方法是利用Long类的构造函数来创建新的long对象。自Java 9以来,该方法已被弃用,建议使用如上所述的parseLong() API。
long value = new Long(\"100\"); //100L
4.NumberFormatException
使用任何给定的方法,如果输入的字符串除了第一个字符可以是加号或减号符号外,没有只包含十进制数字,我们将在运行时收到NumberFormatException错误。
String number = \"12001xyz\";
long value = Long.parseLong(number);
//抛出异常信息
Exception in thread \"main\" java.lang.NumberFormatException: For input string: \"12001xyz\"
还没有评论呢,快来抢沙发~