❶ Java中怎样判断一个变量是否属于哪种类型
变量类型识别有3种方法:
1、通过反射拿到变量的类型;
2、instanceof关键字判断;
3、通过java的多态(方法重载)来DIY类型识别。
举例如下:
packagecom.cxyapi.oo;
/**类型识别工具测试类
*@[email protected]
*/
publicclassTypeToolsTest
{
publicstaticvoidmain(String[]args)
{
inti=0;
TypeObjectto=newTypeObject();
//1.反射
System.out.println("to的类型:"+to.getClass().getSimpleName());
System.out.println(int.class.getSimpleName());
System.out.println(Integer.class.getSimpleName());
//但是对于一个不确定类型的基本数据类型变量我们没法用反射来获取其类型。
System.out.println("----------------------");
//2.instanceof
if(toinstanceofTypeObject){System.out.println("to是TypeObject类型的");}
//但是这种办法貌似也没法确定基本数据类型
System.out.println("----------------------");
//以上两种方式对于对象,引用类型的都很好用,但是对基本数据类型就不那么好用了。
//3.通过多态(方法的重载)
System.out.println("i是:"+TypeTools.getType(i));
System.out.println("to是:"+TypeTools.getType(to));
System.out.println(""cxyapi"是:"+TypeTools.getType("www.cxyapi.com"));
//可以看出来最后一种方式使用多态的方式达到了检测类型(基本类型和引用类型)的目的
//除了弥补其他两种方式不能检测基本数据类型的不足在外,还能自己DIY类型信息
}
}
//定义一个类,为了演示引用类型的类型检测
classTypeObject{}
自定义的类型识别工具:
packagecom.cxyapi.oo;
importjava.util.HashMap;
importjava.util.Map;
/**类型识别工具
*@[email protected]
*/
publicclassTypeTools
{
//获得类型
publicstaticMap<String,String>getType(Objecto)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型",o.getClass().getSimpleName());
typeInfo.put("描述","引用类型");
returntypeInfo;
}
publicstaticMap<String,String>getType(inti)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","int");
typeInfo.put("描述","整形");
returntypeInfo;
}
publicstaticMap<String,String>getType(longl)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","long");
typeInfo.put("描述","长整型");
returntypeInfo;
}
publicstaticMap<String,String>getType(booleanb)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","boolean");
typeInfo.put("描述","布尔类型");
returntypeInfo;
}
publicstaticMap<String,String>getType(charb)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","char");
typeInfo.put("描述","字符");
returntypeInfo;
}
publicstaticMap<String,String>getType(floatf)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","float");
typeInfo.put("描述","单精度浮点型");
returntypeInfo;
}
publicstaticMap<String,String>getType(doubled)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","double");
typeInfo.put("描述","双精度浮点型");
returntypeInfo;
}
publicstaticMap<String,String>getType(Strings)
{
Map<String,String>typeInfo=newHashMap<String,String>();
typeInfo.put("类型","String");
typeInfo.put("描述","字符串类型");
returntypeInfo;
}
}
❷ JAVA中怎么判断一个数组中所有元素的数据类型
import java.util.Scanner;
public class Java71 {
public static void main(String[] args) {
// TODO code application logic here
Scanner s = new Scanner(System.in);
System.out.println("请输入字符串:");
String a = s.nextLine();
int abccount = 0;
int numcount = 0;
int spacecount = 0;
int othercount = 0;
char[] b = a.toCharArray();
for(int i = 0; i < b.length; i++){
if(b[i]>='a'&&b[i]<='z'||b[i]>='A'&&b[i]<='Z'){
abccount++;
}else if(b[i]>='0'&&b[i]<='9'){
numcount++;
}else if(b[i]==' '){
spacecount++;
}else{
othercount++;
}
}
System.out.println("字符串中含有的英文字母数为:" + abccount);
System.out.println("字符串中含有的数字数为:" + numcount);
System.out.println("字符串中含有的空格数为:" + spacecount);
System.out.println("字符串中含有的其他字符为:" + othercount);
}
}
❸ Java中如何判断参数的类型。
可以通过Class的name属性来查看数据类型,每一个对象都有一个Class,在java中一切皆对象,故能够通过如下方式来获取对象的类型:
Datedate=newDate();
System.out.println(date.getClass().getName());//java.util.Date
❹ JAVA中怎么判断一个数组中所有元素的数据类型
import java.util.Scanner;
public class Java71 {
public static void main(String[] args) {
// TODO code application logic here
Scanner s = new Scanner(System.in);
System.out.println("请输入字符串:");
String a = s.nextLine();
int abccount = 0;
❺ 在java中如何判断一个变量的类型
nextElement()如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
利用这两个函数,利用while循环就可以读取里面的元素,当然读取出来得元素通过强制转换,就可以和变量进行比较
希望对你有所帮助
❻ Java程序 判断数据类型
instanceof运算符,是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
而你的代码:if (!(x instanceof Double)判断的是一个double基本类型数据是否是一个Double对象,这肯定不行,如果还不清楚,进5044群5871
❼ java如何判断数据类型
给你一个封装好的方法,只要把excel中的cell放入就会返回对应的值,里面有类型检测
public static String getExcelCellValue(HSSFCell cell) {
String ret = "";
// if (HSSFDateUtil.isCellDateFormatted(cell)) {
// Date date = cell.getDateCellValue();
// ret = "" + date.getTime();
// } else
try {
if (cell == null) {
ret = "";
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
ret = cell.getStringCellValue().trim();
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
ret = "" + cell.getNumericCellValue();
String temp = ret.substring(ret.indexOf(".") + 1, ret.length());
try {
if (Integer.parseInt(temp) == 0) {
ret = ret.substring(0, ret.indexOf("."));
}
} catch (Exception ex) {
}
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
ret = cell.getCellFormula();
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_ERROR) {
ret = "" + cell.getErrorCellValue();
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {
ret = "" + cell.getBooleanCellValue();
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
ret = "";
}
} catch (Exception ex) {
ex.printStackTrace();
ret = "";
}
return ret;
}
❽ java怎么判断一个数据是什么类型
先得到对象的类字节码Class对象,通过Class对象再得到类型,而后进行判断是不原始类型方法可能是isPrimitive或数组isArray()。
❾ Java中怎么知道一个变量的类型
复制下面代码:
class Test{
public static void main(String[] args){
int i=1; //int类型变量
System.out.println(getType(i)); //打印变量类型为int
}
public static String getType(Object o){ //获取变量类型方法
return o.getClass().toString(); //使用int类型的getClass()方法
}
}
(9)java如何判断数据类型扩展阅读:
java8种基本数据类型 (4种整型+2种浮点型+1种字符型+1种逻辑型)
4种整型:
byte-1 字节:-128~127 ;
short -2 字节:-32768~32767 ;
int-4 字节:-2^31~2^31-1;
long-8 字节:-2^63~2^63-11234。
2种浮点型
float-4 字节-32位IEEE 754单精度(有效位数6~7位);
double-8 字节-64位IEEE 754双精度(有效位数15位)。
1种字符型
char-2 字节-整个Unicode字符集。
1种逻辑型
boolean-1 字节-true或者false。