java字符串组成代码_java输入字符串代码
在java中如何定义一个字符串数组
① java中定义一个字符串数组方式如下,string类型和其他基本类型相似,创建数组有两种方式?:String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
扩展资料:
①数组是相同数据类型的元素的集合.参考资料:字符数组_百度百科
如何在java里java字符串数组合并成一个数组?
java里java字符串数组合并成一个数组方法如下:
//方法一 Arrays类
String[] a = {"A","B","C"};
String[] b = {"D","E"};
// ListString list = Arrays.asList(a);? --OK
// ListString list = Arrays.asList("A","B","C"); --OK
// list.add("F"); --UnsupportedOperationException
// list.remove("A"); --UnsupportedOperationException
// list.set(1,"javaee");--OK (因为是把数组转为集合,其本质还是数组,数组长度固定不变,但内容可以改变)
// 结论:虽然可以把数组转为集合,但是集合长度不能改变
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
String[] str = new String[list.size()];
list.toArray(str);
for(int x=0;xstr.length;x++){
System.out.print(str[x] + " ");
}
//方法二 循环遍历
// 两个数组合并
String[] str1 = {"Hello","world","java"};
//newStr = str1;数组是引用类型
for(int x=0;xstr1.length;x++){
newStr[x] = str1[x];
for(int y=0;ynewStr.length;y++){
System.out.println(newStr[y] + " ");
// 方法三
int str1Length = str1.length;
System.out.println(Arrays.toString(str1));
java字符串怎么转换为代码
方法是有的,但不全实际.
首先,你要理解,JAVA代码的运行是要被编译成字节码codebyte后才能被执行的,以你问题中的意思,那个字符串应该是在怎么代码被编译后项目在运行时,再传入的参数,这时,要想把传入参数的字符串当成JAVA代码来运行,只有一种办法,就是把传进来的字符串转换成字节码,并且,要虚拟加一个方法体出来.这也不是不可行,可用的技术有asm.cglib等字节码技术.但你想,对于你的问题.这样有实际的意义吗
你还不如,把system.out.print重定义成新的外调方法调动来的清晰
java怎么把一段字符串当做代码来执行
在javascript中eval()可以实现字符串转代码,java中需要使用动态编译.
把获得的字符串写入一个临时文件中,然后编译它,在调用其中的函数.
我们把要转换的字符串构造一个完整的类:如果方法是有返回值的.则:
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();
//动态编译
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;
//调用temp的rt方法返回结果:
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] });
//如果方法没有返回就直接调用
我们可以先写好多个重载的eval,有返回值和没有返回值的.以及可以传递参数的.
这样我们就可以用字符串转换为java的语句来执行.
以上就是联同百科网小编为大家整理的java字符串组成代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!