import java.lang.reflect.Method;
import java.util.regex.Pattern;
/**
* @author Tower
* @version Sep 9, 2008 9:25:42 AM
*/
public abstract class Debug {
public static boolean m1(Object str){
Pattern pattern = Pattern.compile("[0-9]*");
System.out.println("------------------m1");
return pattern.matcher(str.toString()).matches();
}
public static boolean m2(String str){
System.out.println("------------------m2");
return (str.length()> 3);
}
public static boolean m3(String str){
System.out.println("------------------m3");
return (str.endsWith("xml"));
}
public static boolean m4(String str,String length){
System.out.println("------------------m4");
return (str.length() < Integer.parseInt(length));
}
public static void main(String args[]){
try {
Method [] methods = Debug.class.getMethods();
for(Method me : methods){ //有如此例
if(me.getName().toString().equalsIgnoreCase("m4")){
System.out.println(me.invoke(null,"7777","4"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.util.regex.Pattern;
/**
* @author Tower
* @version Sep 9, 2008 9:25:42 AM
*/
public abstract class Debug {
public static boolean m1(Object str){
Pattern pattern = Pattern.compile("[0-9]*");
System.out.println("------------------m1");
return pattern.matcher(str.toString()).matches();
}
public static boolean m2(String str){
System.out.println("------------------m2");
return (str.length()> 3);
}
public static boolean m3(String str){
System.out.println("------------------m3");
return (str.endsWith("xml"));
}
public static boolean m4(String str,String length){
System.out.println("------------------m4");
return (str.length() < Integer.parseInt(length));
}
public static void main(String args[]){
try {
Method [] methods = Debug.class.getMethods();
for(Method me : methods){ //有如此例
if(me.getName().toString().equalsIgnoreCase("m4")){
System.out.println(me.invoke(null,"7777","4"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
JDK1.5特性
...
}等同于:for(int i=0;i<methods.length;i++){
Method me = methods[i]
...
}
for(;i<methods.length;i++){
//
}
if(me.getName().toString().equalsIgnoreCase("m4")){
System.out.println(me.invoke(null,"7777","4"));
}
}:后面是一个List Map 数组
楼上回答正解
定义一个 Method 类型的变量me
methods数组中每个元素
适用于逐个遍历的情况,即每次一步递增,即for(int i = 0; i < n; i++)的形式
如果是i = i + 2就不适用了。
:前面的代表容器内的element :后面代表的是容器一般只用在遍历,不用于复杂的操作
Y:是一个集合也可以是一个对象数组还可以是知道数据类型的变量
X定义一个类型的变量,可以是数组或list
Y代表你是一个集合的变量,就是你定义的数据或LIST的名字
在 Y 中的 每一个 X
...
} 等同于: for(int i=0;i <methods.length;i++){
Method me = methods[i]
...
}
与jstl标签的for循环有点像