现在的位置: 首页 > 综合 > 正文

取出对象中的字符串

2018年09月01日 ⁄ 综合 ⁄ 共 1092字 ⁄ 字号 评论关闭
	public String transferToObject(Class clazz, Object object) {
		Field[] declaredFields = clazz.getDeclaredFields();
		Method[] declaredMethods = clazz.getDeclaredMethods();
		String params="" ;
		for (int i = 0; i < declaredFields.length; i++) {
			declaredFields[i].setAccessible(true);
			Log.i("field", "域" + declaredFields[i].getName());
			Log.i("field", "域类型" + declaredFields[i].getType());
			try {
				Method method = clazz.getMethod("get"
						+ change(declaredFields[i].getName()), null);
				method.setAccessible(true);
				Object name = method.invoke(object, null);
				if (i == 0) {
					params = declaredFields[i].getName() + "=" + name + "";
				} else {
					params += ";" + declaredFields[i].getName() + "=" + name
							+ "";
				}
				;
			} catch (NoSuchMethodException e) {
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
		}
		Log.i("field", params);
		return params;
	}

	/**
	 * @param src
	 *            源字符串
	 * @return 字符串,将src的第一个字母转换为大写,src为空时返回null
	 */
	public static String change(String src) {
		if (src != null) {
			StringBuffer sb = new StringBuffer(src);
			sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
			return sb.toString();
		} else {
			return null;
		}
	}

抱歉!评论已关闭.