import org.json.JSONException;
import org.json.JSONObject;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
public class StringTest {
/**
* @param args
*/
public static void main(String[] args) {
String string1 = "123";
String string2 = "fdgsewe323";
String string3 = "{/"task/":/"324vfsdfg/"}";
String string4 = "<ww>3243</ww>";
// System.out.println("string1::number"+isNumber(string1));
// System.out.println("string2::number"+isNumber(string2));
// System.out.println("string3::json"+isJson(string3));
// System.out.println("string4::xml"+isXML(string4));
// System.out.println("string1::json"+isJson(string1));
// System.out.println("string2::xml"+isXML(string2));
// System.out.println("string3::number"+isNumber(string3));
// System.out.println("string4::xml"+isXML(string4));
System.out.println("string1::"+getType(string1));
System.out.println("string2::"+getType(string2));
System.out.println("string3::"+getType(string3));
System.out.println("string4::"+getType(string4));
}
public static String getType(String string) {
if (isNumber(string))
return "Number";
else if (isJson(string))
return "Json";
else if (isXML(string))
return "xml";
else
return "String";
}
/**
* 判断字符串是否是数字
*/
public static boolean isNumber(String value) {
return isInteger(value) || isDouble(value);
}
/**
* 判断字符串是否是整数
*/
public static boolean isInteger(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是浮点数
*/
public static boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断是否是json结构
*/
public static boolean isJson(String value) {
try {
new JSONObject(value);
} catch (JSONException e) {
return false;
}
return true;
}
import org.json.JSONObject;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
public class StringTest {
/**
* @param args
*/
public static void main(String[] args) {
String string1 = "123";
String string2 = "fdgsewe323";
String string3 = "{/"task/":/"324vfsdfg/"}";
String string4 = "<ww>3243</ww>";
// System.out.println("string1::number"+isNumber(string1));
// System.out.println("string2::number"+isNumber(string2));
// System.out.println("string3::json"+isJson(string3));
// System.out.println("string4::xml"+isXML(string4));
// System.out.println("string1::json"+isJson(string1));
// System.out.println("string2::xml"+isXML(string2));
// System.out.println("string3::number"+isNumber(string3));
// System.out.println("string4::xml"+isXML(string4));
System.out.println("string1::"+getType(string1));
System.out.println("string2::"+getType(string2));
System.out.println("string3::"+getType(string3));
System.out.println("string4::"+getType(string4));
}
public static String getType(String string) {
if (isNumber(string))
return "Number";
else if (isJson(string))
return "Json";
else if (isXML(string))
return "xml";
else
return "String";
}
/**
* 判断字符串是否是数字
*/
public static boolean isNumber(String value) {
return isInteger(value) || isDouble(value);
}
/**
* 判断字符串是否是整数
*/
public static boolean isInteger(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是浮点数
*/
public static boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断是否是json结构
*/
public static boolean isJson(String value) {
try {
new JSONObject(value);
} catch (JSONException e) {
return false;
}
return true;
}
ScriptEngineManager sem =
new
ScriptEngineManager ();
ScriptEngine se = sem.getEngineByName (
"js"
);
String jsonstr =
"({name: 1, obj: 3,[dd]})"
;
try
{
System.out.println (se.eval (jsonstr));
}
catch
(ScriptException e)
{
System.out.println (
"json格式有误"
);
}
/**
* 判断是否是xml结构
*/
public static boolean isXML(String value) {
try {
DocumentHelper.parseText(value);
} catch (DocumentException e) {
return false;
}
return true;
}
}
相关推荐
在编程中,数据有不同的类型,例如整型(int)、浮点型(float)、字符型(char)和字符串型(string)。类型转换允许我们将一种数据类型转换为另一种。例如,当需要进行数学计算时,可能需要将字符串类型的数字转换...
对于基本数据类型(如`String`, `Integer`, `Float`, `Boolean`, `Short`, `Double`, `Long`, `BigDecimal`, `BigInteger`, `Byte`),它会将对象包装在双引号中。对于数组、列表、映射和集合,它调用相应的辅助方法...
根据这个JSON字符串,Action类需要有以下方法: - `setDoubleValue(float or double)`:接收一个浮点数作为参数。 - `setNestedBean(Object)`:接收一个包含`setName(String)`方法的对象。 - `setList(List)`:接收...
在Struts2中,如果没有使用Struts2-Json-Plugin,开发人员需要手动利用如XStream、Google Gson或Jackson等工具将Java对象转换为JSON字符串,然后将其写入Response。这样做不仅需要编写更多的代码,还需要关注字符集...
2. **文本类型**(字符和字符串):字符(char)存储单个字符,字符串(String)存储多个字符。 3. **整数类型**(byte、short、int、long):用于存储有符号整数,不同类型有不同的取值范围。 4. **浮点类型**...
StringBuffer、StringBuilder 和 String 都是 Java 中的字符串类,但是它们有所不同。String 是不可变的,意味着一旦创建就不能修改。StringBuffer 和 StringBuilder 是可变的,意味着可以修改。StringBuffer 是线程...
* String:不可变字符串,所有操作都会生成新的字符串 * StringBuffer:可变字符串,多线程安全,同步锁机制 * StringBuilder:可变字符串,不是线程安全的,但性能高于StringBuffer 五、Hashtable和HashMap的区别 ...
正确的做法是先将`BigDecimal`转换为`long`或`int`类型,再根据需求转换为`double`或`float`。 例如: ```java BigDecimal bigDecimal = new BigDecimal("123.45"); int intValue = bigDecimal.intValue(); // 转换...
5. **序列化与反序列化**:支持将NBT对象转换为字节流(如JSON或XML),以及从这些格式恢复原始结构。 **使用nbtlib的示例** ```python from nbtlib import load, Compound # 读取NBT文件 with open('example.nbt...
Java有8种基本数据类型:4种整型(byte, short, int, long),2种浮点型(float, double),1种字符型(char),1种布尔型(boolean)。 以上只是部分关键知识点,完整的Java面试总结PDF版应包含了更多关于异常处理...
1. **简单类型**:如整型(int, long),浮点型(float, double),字符串(string)和布尔型(boolean)。 2. **复杂类型**:包括数组(array)、映射(map)、记录(record)、枚举(enum)和固定(fixed)。 ...
Java有8种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。 16. **冒泡排序** 冒泡排序是一种简单的排序算法,通过不断交换相邻的逆序元素,使最大...
9. **XML和Json的特点**:XML是结构化数据格式,用于数据交换,语法复杂;JSON(JavaScript Object Notation)轻量级,易于读写,更适合网络传输。 10. **request.getSession()的三种形式**:`getSession()`默认...
1. **基本数据类型**: C#中的基本数据类型包括整型(如int, byte, short, long)、浮点型(float, double)、字符型(char)、布尔型(bool)、字符串(string)等。这些类型在System命名空间下定义,提供了一系列...
StringBuffer、StringBuilder 和 String 都是 Java 中的字符串类型,但它们有着不同的特点: * String:不可变的字符串类型,一旦创建便不可更改。 * StringBuffer:可变的字符串类型,可以动态添加或删除字符。 * ...
- 浮点型:float、double。 - 字符型:char。 - 布尔型:boolean。 以上是Java课程中涉及的一些关键知识点,涵盖从基础语法到高级特性的广泛内容。理解并熟练掌握这些概念对于成为一个合格的Java开发者至关重要...
Java有八种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。 **十六、冒泡排序** 冒泡排序是一种简单的排序算法,通过重复遍历待排序数组,比较相邻...
4. 浮点型表示:float类型的变量必须以f或F结尾来表示,因此float f = 3.4f是正确的,但float f = 3.4是错误的,因为3.4是double类型,需要显式转换。 二、OOAD & UML(96-101题,24-25页) 这部分涉及到面向对象...