「java反转赋值」java反转函数
本篇文章给大家谈谈java反转赋值,以及java反转函数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA反射中通过Class.forname()如何带参数的方法怎么赋值和调用呀?
- 2、java解释代码 关于数组串反转的。。。
- 3、java中的反转语句及其解释
- 4、怎么用java循环将12345进行反转,输出54321
JAVA反射中通过Class.forname()如何带参数的方法怎么赋值和调用呀?
用Class.forName方法动态加载构造方法带参数的类。
1、在用Class.forName方法动态加载构造方法带参数的类时,为了将参数传递进去,可以考虑java的反射机制,比如有一个类如下:
public class Cat{
private int age;
private String name;
public void Cat(String name, int age){
this.name = name;
this.age = age;
}
}
2、如果想用Class.forName方法动态加载这个类,可以用以下类似的代码实现:
import java.lang.reflect.Constructor;
publc class LoadCat{
private int age;
private String name;
public void LoadCat(String name, int age){
super();
this.name = name;
this.age = age;
}
public static void main(String args[ ]){
Class clazz = Class.forName("Cat");
Constructor constructor = clazz.getConstructor(String.class, int.class);
LoadCat test = (LoadCat) constructor.newInstance("test", 1);
}
}
3、补充:
(1)反射方式调用对象类的由参构造方法!
(2)调用者与被调用者不在同包中(SpecialCalendar位于Calendar包中)
调用者使用Class.forName()方法,应该显示的注明路径(包名)
Class? special = Class.forName("Calendar.SpecialCalendar");
Constructor? special_Calendar =
special.getConstructor(int.class,int.class,int.class);
specialCalendar = (SpecialCalendar)
special_Calendar.newInstance(2011,5,27);
4、方法二:
package com.sanmao10;import java.lang.reflect.Constructor;public class test2 {
/**
* ###27.05_反射(通过反射获取带参构造方法并使用)
* Constructor
* Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数,
* 就不能这样创建了,可以调用Class类的getConstructor(String.class,int.class)
* 方法获取一个指定的构造函数然后再调用Constructor类的newInstance("张三",20)方法创建对象*/
public static void main(String[] args) throws Exception{
Class clazz=Class.forName("com.sanmao10.Person");// Person p=(Person)clazz.newInstance(); //通过无参构造创建对象// p.say();
Constructor c=clazz.getConstructor(String.class,int.class);//获取有参构造
Person p=(Person) c.newInstance("sanmao",12); //通过有参构造创建对象
p.say();
}
}
java解释代码 关于数组串反转的。。。
public
static
void
reverseArray(Object[]originalArray){
//originalArray.length/2,originalArray数组的一半长度
for(int
i=0;i
originalArray.length/2;i
++){
Object
temp
=
originalArray[i];//Object类型的temp临时变量
/*将originalArray数组的最后一个值赋值给originalArray的第一个值
originalArray第一个值已经赋值给临时变量temp*/
originalArray[i]=originalArray[originalArray.length-1-i];
//最后一个值重新赋值为originalArray数组的第一个值
originalArray[originalArray.length-1-i]
=
temp;
}
//return
originalArray;
}
简单举例说明String[]originalArray
=
{"1",
"2",
"3",
"4"}
当i为0时
Object
temp
=
originalArray[0];//originalArray[0]为1
//originalArray.length
=
4,所以originalArray.length-1-0=3
originalArray[0]=originalArray[3];//将4赋值给数组的第一个位置
originalArray[3]
=
temp;//将1赋值给数组的第4个位置
i=0执行完后数组为String[]originalArray
=
{"4",
"2",
"3",
"1"}
java中的反转语句及其解释
public class Demo{
public static void main(String[] args) {
String str = "abcdefg";
StringBuilder sb = new StringBuilder(str);//将字符串作为参数传入StringBuilder
sb.reverse();//StringBuilder进行反转
String str2 = sb.toString();//反转后赋值给str2
System.out.println(str2);//输出 gfedcba
}
}
输出
gfedcba
怎么用java循环将12345进行反转,输出54321
这个看你的12345是什么类型的。如果是String类型的 String里有个反转函数reverse(),直接调用就可以啦!如果是数组型的有个 for循环把它反向赋值给另一个数组就行啦!如果是int型有点麻烦,给你个代码:public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
int a=12345;
System.out.println((a%10*10000)+(a/10%10*1000)+(a/100%10*100)+(a/1000%10*10)+a/10000);
}
}
这个代码输出的部分也可以用个循环代替,偷点懒,你自己思考吧!
(还有这个是硬编码不可取,楼主聪明想想怎么用软编码实现任意数字的倒转吧)
java反转赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java反转函数、java反转赋值的信息别忘了在本站进行查找喔。