真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

字符串代碼java 字符串代碼例子

如何將字符串轉(zhuǎn)換為java代碼

Java實(shí)現(xiàn)字符串轉(zhuǎn)換成可執(zhí)行代碼

為平潭等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及平潭網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、平潭網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

使用commons的jexl可實(shí)現(xiàn)將字符串變成可執(zhí)行代碼的功能,我寫了一個(gè)類來封裝這個(gè)功能:

import java.util.Map;

import org.apache點(diǎn)抗 mons.jexl2.Expression;

import org.apache點(diǎn)抗 mons.jexl2.JexlContext;

import org.apache點(diǎn)抗 mons.jexl2.JexlEngine;

import org.apache點(diǎn)抗 mons.jexl2.MapContext;

/**

* 動(dòng)態(tài)加載方法

*

*/

public class DyMethodUtil {

public static Object invokeMethod(String jexlExp,MapString,Object map){

JexlEngine jexl=new JexlEngine();

Expression e = jexl.createExpression(jexlExp);

JexlContext jc = new MapContext();

for(String key:map.keySet()){

jc.set(key, map.get(key));

}

if(null==e.evaluate(jc)){

return "";

}

return e.evaluate(jc);

}

}

調(diào)用

MapString,Object map=new HashMapString,Object();

map.put("testService",testService);

map.put("person",person);

String expression="testService.save(person)";

DyMethodUtil.invokeMethod(expression,map);

java中根據(jù)一段字符串,獲取其中的字母,有要求;求個(gè)具體代碼

要求1中要去掉所有數(shù)字,要求2、3中又要保留數(shù)字并進(jìn)行翻譯,所以我兩種都寫了。具體代碼為:

public class Test {

public static void main(String args[]) {

String str = "0as2sw$#3Six";

System.out.println("原字符串:[" + str + "]");

System.out.println("");

//不翻譯數(shù)字

SetString set1 = new LinkedHashSet();

for (String s : str.split("[^A-Z a-z]")) {

if (s.length() 0) {

set1.add(s);

}

}

System.out.println("不翻譯數(shù)字的結(jié)果:" + set1);

System.out.println("");

?/*因?yàn)橛忠コ亲帜负蛿?shù)字(以下簡稱去雜),又要將去雜結(jié)果分離成數(shù)字和字母,再翻譯數(shù)字,整個(gè)流程挺麻煩的,索性在去雜之前,先將數(shù)字翻譯成英文,為了使數(shù)字翻譯后的英文和原字符串的字母分開,在數(shù)字左右添加占位符#,這樣的話,形如:[a1b2c3]就會(huì)被處理為:[a#one#b#two#c#three#],這樣去雜后,就會(huì)被分割為:[a,one,b,two,c,three]了。這里定義了枚舉值English,用于實(shí)現(xiàn)0-9的英文映射,[10]不好映射成[ten],現(xiàn)在只能映射為[one,zero],如果按照題干非要映射為ten的話你再考慮考慮吧*/

for (English english : English.values()) {

str = str.replaceAll(english.getNum() + "", "#" + english.name() + "#");

}

System.out.println("將數(shù)字替換為“占位符 + 英文 + 占位符”的中間結(jié)果:[" + str + "]");

System.out.println("");

?//翻譯數(shù)字的結(jié)果

SetString set2 = new LinkedHashSet();

for (String s : str.split("[^A-Za-z]")) {

if (s.length() 0 ?) {

//判斷當(dāng)前字符串是否是數(shù)字的英文,如果不是,就把它拆成單字母

if (mappingEnglish(s)){

set2.add(s);

}else {

for (char c : s.toCharArray()) {

set2.add(String.valueOf(c));

}

}

}

}

System.out.println("翻譯數(shù)字的結(jié)果:" + set2);

}

//判斷當(dāng)前字符串是否是數(shù)字的英文

private static boolean mappingEnglish(String str) {

for (English english : English.values()) {

str = str.toLowerCase();

if (english.name().equals(str)) {

return true;

}

}

return false;

}

enum English {

zero(0),

one(1),

two(2),

three(3),

four(4),

five(5),

six(6),

seven(7),

eight(8),

nine(9);

private int num;

public int getNum() {

return num;

}

English(int num) {

this.num = num;

}

}

}

我怕發(fā)出來代碼又?jǐn)D在一起,順便也截個(gè)圖:

8-21行

22-50行

51-61行

62-85行完

運(yùn)行結(jié)果:

java代碼拼接字符串的幾種方式

String類的方法:

①利用運(yùn)算符"+"

②public String concat(String str)進(jìn)行字符串的拼接操作

StringBuffer的方法:

①public StringBuffer append(String str)將str添加到當(dāng)前字符串緩沖區(qū)的字符序列的末尾

②public StringBuffer insert(int offset,String str)在當(dāng)前字符串緩沖區(qū)的字符序列的下標(biāo)

索引offset插入str。如果offset等于舊長度,則str添加在字符串緩沖區(qū)的尾部

如圖所示


網(wǎng)頁標(biāo)題:字符串代碼java 字符串代碼例子
網(wǎng)頁鏈接:http://weahome.cn/article/ddjooig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部