首页 > 编程知识 正文

java -jar命令,java多线程

时间:2023-05-06 13:43:16 阅读:49484 作者:3480

全部展开

公共语言- 2.5.jar

名字大概是这个。 具体版本是62616964757 a 686964616 Fe 58685 e 5a EB 931336563939不是2.5。 你必须看看工程框架和JDK的版本,然后试一下才能知道。

Java使用逗号分隔字符串“a、b、c、”,结果是长度为5的数组。

['a '、'、'、' b '、' c '、' ]

大多数情况下,我不想要那些空字符串,所以需要在循环中逐一确定字符串是否为空。 StringUtils.split方法有助于以这种方式分割字符串。

很多开发人员抱怨Java没有提供join方法,StringUtils.join解决了这个问题。

如何判断用户输入是否为空? 经过完整的验证后,应该如下所示。

if (输入!=null input.trim ().length 0) { . }

StringUtils.isBlank方法可以确定正确处理空值和所有空间。

StringUtils类还有许多其他实用的方法,可以处理日常编程中的大部分字符串处理。 commons-lang还提供了StringEscapeUtils类,有助于防止SQL injection,并成功输出用户在HTML中输入的尖括号等。

虽然我没有仔细看过源代码,但是作为一个共同的方法,公共语言应该对性能的考虑很周到。 这很放心。

以下是两个示例,说明了阵列实用程序和字符串实用程序的常用用法。

ArrayUtils

数组是我们常用的数据结构,但由于Java本身没有提供足够的API支持,很多操作实际上相当繁琐,在实际编码中甚至不惜使用Collections API。 Collection当然可以轻松解决我们的问题,但必须牺牲性能吗? ArrayUtils帮助我们解决了大部分处理类似情况的问题。 请看一个例子:

package Sean.study.Jakarta.com mons.lang;

importjava.util.Map;

importorg.Apache.com mons.lang.array utils;

publicclassArrayUtilsUsage {

publicstaticvoidmain (字符串[ ] args ) {

//数据设置

int [ ] intarray1={ 2,4,8,16 };

int [ ] [ ] intarray2={ 1,2 }、{ 2,4 }、{ 3,8 }、{ 4,16 };

Object[][] notAMap={

{'A ',新双精度(100 ) },

{'B ',newdouble(80 ) },

{'C ',newdouble(60 ) },

{'D ',newdouble(40 ) },

{'E ',newdouble(20 ) }

(;

//打印阵列

system.out.println (intarray 1: ) array utils.tostring (intarray1);

system.out.println (intarray 2: ) array utils.tostring (intarray2);

system.out.println (notamap : ) arrayutils.tostring ) nota map );

//发现项目

system.out.println (' intarray1contains '8'?

array utils.contains (intarray 1,8 );

system.out.println (' intarray1index of '8'?

array utils.index of (intarray 1,8 );

system.out.println (' intarray1lastindexof '8'?

array utils.lastindexof (intarray 1,8 );

//克隆和恢复

int [ ] intarray3=array utils.clone (intarray1);

system.out.println (intarray : ) array utils.tostring (intarray3);

arrayutils.reverse(Intarray3;

Sys

tem.out.println("intArray3 reversed: "

+ ArrayUtils.toString(intArray3));

// primitive to Object array

Integer[] integerArray1 = ArrayUtils.toObject(intArray1);

System.out.println("integerArray1: "

+ ArrayUtils.toString(integerArray1));

// build Map from two dimensional array

Map map = ArrayUtils.toMap(notAMap);

Double res = (Double) map.get("C");

System.out.println("get 'C' from map: " + res);

}

}

以下是运行结果:

intArray1: {2,4,8,16}

intArray2: {{1,2},{2,4},{3,8},{4,16}}

notAMap: {{A,100.0},{B,80.0},{C,60.0},{D,40.0},{E,20.0}}

intArray1 contains '8'? true

intArray1 index of '8'? 2

intArray1 last index of '8'? 2

intArray3: {2,4,8,16}

intArray3 reversed: {16,8,4,2}

integerArray1: {2,4,8,16}

get 'C' from map: 60.0

这段代码说明了我们可以如何方便的利用ArrayUtils类帮我们完成数组的打印、查找、克隆、倒序、以及值型/对象数组之间的转换等操作。如果想了解更多,请参考Javadoc。

StringUtils

处理文本对Java应用来说应该算是家常便饭了,在1.4出现之前,Java自身提供的API非常有限,如String、StringTokenizer、StringBuffer,操作也比较单一。无非就是查找substring、分解、合并等等。到1.4的出现可以说Java的文字处理上了一个台阶,因为它支持regular expression了。这可是个重量级而方便的东东啊,缺点是太复杂,学习起来有一定难度。相较而言,Jakarta Commons提供的StringUtils和WordUtils至今还维持着那种简洁而强大的美,使用起来也很顺手。来看一个例子:

package sean.study.jakarta.commons.lang;

import org.apache.commons.lang.StringUtils;

public class StringUtilsAndWordUtilsUsage {

public static void main(String[] args) {

// data setup

String str1 = "";

String str2 = " ";

String str3 = "/t";

String str4 = null;

String str5 = "123";

String str6 = "ABCDEFG";

String str7 = "It feels good to use Jakarta Commons./r/n";

// check for empty strings

System.out.println("==============================");

System.out.println("Is str1 blank? " + StringUtils.isBlank(str1));

System.out.println("Is str2 blank? " + StringUtils.isBlank(str2));

System.out.println("Is str3 blank? " + StringUtils.isBlank(str3));

System.out.println("Is str4 blank? " + StringUtils.isBlank(str4));

// check for numerics

System.out.println("==============================");

System.out.println("Is str5 numeric? " + StringUtils.isNumeric(str5));

System.out.println("Is str6 numeric? " + StringUtils.isNumeric(str6));

// reverse strings / whole words

System.out.println("==============================");

System.out.println("str6: " + str6);

System.out.println("str6 reversed: " + StringUtils.reverse(str6));

System.out.println("str7: " + str7);

String str8 = StringUtils.chomp(str7);

str8 = StringUtils.reverseDelimited(str8, ' ');

System.out.println("str7 reversed whole words : /r/n" + str8);

// build header (useful to print log messages that are easy to locate)

System.out.println("==============================");

System.out.println("print header:");

String padding = StringUtils.repeat("=", 50);

String msg = StringUtils.center(" Customised Header ", 50, "%");

Object[] raw = new Object[]{padding, msg, padding};

String header = StringUtils.join(raw, "/r/n");

System.out.println(header);

}

}

输出的结果如下:

==============================

Is str1 blank? true

Is str2 blank? true

Is str3 blank? true

Is str4 blank? true

==============================

Is str5 numeric? true

Is str6 numeric? false

==============================

str6: ABCDEFG

str6 reversed: GFEDCBA

str7: It feels good to use Jakarta Commons.

str7 reversed whole words :

Commons. Jakarta use to good feels It

==============================

print header:

==================================================

%%%%%%%%%%%%%%% Customised Header %%%%%%%%%%%%%%%%

==================================================

从代码中我们可以大致了解到这个StringUtils类简单而强大的处理能力,从检查空串(对null的情况处理很得体),到分割子串,到生成格式化的字符串,使用都很简洁,也很直截了当。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。