程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断

简介: 程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断

代码:

package test;

import java.util.regex.Pattern;

/*

判断字符串是否整数的三种方式,孰优孰劣请自行判断

/

public class Test6 {

public static void main(String【】 args) {

String【】 arr= {"123","007","0000","1A","哈哈","Tank","100000000","00000001","100Z996","100996l",};

for(String s:arr) {

boolean result1=isInteger1(s);

System.out.println("isInteger1认为:"+s+(result1?"是":"不是")+"整数");

//代码效果参考:http://www.zidongmutanji.com/zsjx/392233.html

boolean result2=isInteger2(s);

System.out.println("isInteger2认为:"+s+(result2?"是":"不是")+"整数");

boolean result3=isInteger3(s);

System.out.println("isInteger3认为:"+s+(result3?"是":"不是")+"整数");

System.out.println();

}

}

public static boolean isInteger1(String s) {

try {

Integer.parseInt(s);

return true;

}catch(Exception ex) {

return false;

}

}

public static boolean isInteger2(String s) {

char【】 arr=s.toCharArray();

for(char c:arr) {

if(Character.isDigit(c)==false) {

return false;

}

}

return true;

}

public static boolean isInteger3(String s) {

Pattern pattern = Pattern.compile("【1-9】+【0-9】*");

return pattern.matcher(s).matches();

}

}

输出:

isInteger1认为:123是整数

isInteger2认为:123是整数

isInteger3认为:123是整数

isInteger1认为:007是整数

isInteger2认为:007是整数

isInteger3认为:007不是整数

isInteger1认为:0000是整数

isInteger2认为:0000是整数

isInteger3认为:0000不是整数

isInteger1认为:1A不是整数

isInteger2认为:1A不是整数

isInteger3认为:1A不是整数

isInteger1认为:哈哈不是整数

isInteger2认为:哈哈不是整数

isInteger3认为:哈哈不是整数

isInteger1认为:Tank不是整数

isInteger2认为:Tank不是整数

isInteger3认为:Tank不是整数

isInteger1认为:100000000是整数

isInteger2认为:100000000是整数

isInteger3认为:100000000是整数

isInteger1认为:00000001是整数

isInteger2认为:00000001是整数

isInteger3认为:00000001不是整数

isInteger1认为:100Z996不是整数

isInteger2认为:100Z996不是整数

isInteger3认为:100Z996不是整数

isInteger1认为:100996l不是整数

isInteger2认为:100996l不是整数

isInteger3认为:100996l不是整数

END

相关文章
|
1月前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
63 9
|
23天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
137 83
|
1月前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
108 60
|
23天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
53 26
|
27天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
44 8
|
1月前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
49 6
|
1月前
|
SQL 存储 Java
面向 Java 程序员的 SQLite 替代品
SQLite 是轻量级数据库,适用于小微型应用,但其对外部数据源支持较弱、无存储过程等问题影响了开发效率。esProc SPL 是一个纯 Java 开发的免费开源工具,支持标准 JDBC 接口,提供丰富的数据源访问、强大的流程控制和高效的数据处理能力,尤其适合 Java 和安卓开发。SPL 代码简洁易懂,支持热切换,可大幅提高开发效率。
|
1月前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
ZZULIOJ-1111: 多个整数的逆序输出(函数专题)(Java)
ZZULIOJ-1111: 多个整数的逆序输出(函数专题)(Java)
|
7天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
37 6
下一篇
DataWorks