/*
* Copyright (c) 2008-2016 Haulmont.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
//package com.nowjava;
public class Main {// from N o w J a v a . c o m - 时代Java
public static void main(String[] argv) throws Exception {
String type = "nowjava.com";
System.out.println(isArrayOrCollection(type));
}
public static boolean isArrayOrCollection(String type) {
return isCollection(type) || isArray(type);
}
/**from N o w J a v a . c o m**/
public static boolean isCollection(String type) {
return isList(type) || isSet(type);
}
public static boolean isArray(String type) {
return type != null
&& (type.startsWith("[") && type.length() >= 2
&& getArrayType(type) != null || type
.endsWith("[]"));
}
public static boolean isList(String type) {
return "java.util.List".equals(type);
}
public static boolean isSet(String type) {
return "java.util.Set".equals(type);
}
public static Class getArrayType(String type) {
if (type.endsWith("[]")) {
try {
return Class.forName(type.substring(0, type.length() - 2));
} catch (ClassNotFoundException e) {
throw new RuntimeException("Wrong array type");
}
}
switch (type.substring(0, 2)) {
case "[Z":
return boolean.class;
case "[B":
return byte.class;
case "[S":
return short.class;
case "[I":
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。