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

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

java字符串轉(zhuǎn)代碼 java字符串轉(zhuǎn)字符

java中,String字符串轉(zhuǎn)化為數(shù)字

java中有很多種方式可以將字符串轉(zhuǎn)為數(shù)字,要把字符串正確地轉(zhuǎn)換成數(shù)字需輸入以下代碼:

創(chuàng)新互聯(lián)建站長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為瑞金企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè),瑞金網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

size_t facebook_uint32_to_str(uint32_t?value,?char?*dst)

{

static?const?char?digits[201]?=

"0001020304050607080910111213141516171819"

"2021222324252627282930313233343536373839"

"4041424344454647484950515253545556575859"

"6061626364656667686970717273747576777879"

"8081828384858687888990919293949596979899";

size_t?const?length?=?digits10(value);

size_t?next?=?length?-?1;

while?(value?=?100)?{

auto?const?i?=?(value?%?100)?*?2;

value?/=?100;

dst[next]?=?digits[i?+?1];

dst[next?-?1]?=?digits[i];

next?-=?2;

}

// Handle last 1-2 digits

if?(value??10)?{

dst[next]?=?'0'?+?uint32_t(value);

}?else?{

auto?i?=?uint32_t(value)?*?2;

dst[next]?=?digits[i?+?1];

dst[next?-?1]?=?digits[i];

}

return?length;

}

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

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

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

import java.util.Map;

import org.apache.commons.jexl2.Expression;

import org.apache.commons.jexl2.JexlContext;

import org.apache.commons.jexl2.JexlEngine;

import org.apache.commons.jexl2.MapContext;

/**

* 動態(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中怎么執(zhí)行字符串中的代碼

在javascript中eval()可以實現(xiàn)字符串轉(zhuǎn)代碼,java中需要使用動態(tài)編譯。

把獲得的字符串寫入一個臨時文件中,然后編譯它,在調(diào)用其中的函數(shù)。

我們把要轉(zhuǎn)換的字符串構(gòu)造一個完整的類:如果方法是有返回值的.則:

public object eval(string str){

//生成java文件

string s = "class temp{";

s += "object rt(){"

s += "myclass mc = new myclass();"

s += " return mc."+str+"();";

s += "}"

s +="}";

file f = new file("temp.java");

printwriter pw = new printwriter(new filewriter(f));

pw.println(s);

pw.close();

//動態(tài)編譯

com.sun.tools.javac.main javac = new com.sun.tools.javac.main();

string[] cpargs = new string[] {"-d", "所在目錄","temp.java"};

int status = javac.compile(cpargs);

if(status!=0){

system.out.println("沒有成功編譯源文件!");

return null;

}

//調(diào)用temp的rt方法返回結(jié)果:

myclassloader mc = new myclassloader();

class clasz = mc.loadclass("test.class",true);

method rt = clasz.getmethod("rt", new class[]{ string[].class });

return rt.invoke(null, new object[] { new string[0] });

//如果方法沒有返回就直接調(diào)用

}

我們可以先寫好多個重載的eval,有返回值和沒有返回值的.以及可以傳遞參數(shù)的.

這樣我們就可以用字符串轉(zhuǎn)換為java的語句來執(zhí)行.


本文名稱:java字符串轉(zhuǎn)代碼 java字符串轉(zhuǎn)字符
網(wǎng)頁鏈接:http://weahome.cn/article/dosgjdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部