private static String getOrderedMapString(Map<Object, Object> map) {
		ArrayList<String> list = new ArrayList<String>();
		for (Map.Entry<Object, Object> entry : map.entrySet()) {
			if (entry.getValue() != null) {
				Object key = entry.getKey();
				Object value = entry.getValue();
				String objectString = getObjectString(value);
				if (!StringUtils.isEmpty(objectString)) {
					list.add(getObjectString(key) + "=" + objectString + "&");
				}

			}
		}
		int size = list.size();
		String[] arrayToSort = list.toArray(new String[size]);
		Arrays.sort(arrayToSort, String.CASE_INSENSITIVE_ORDER);
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < size; i++) {
			sb.append(arrayToSort[i]);
		}
		return "{" + sb.toString() + "}";
	}
private static String getOrderedMapString ( Map < Object , Object > map ) { ArrayList < String > list = new ArrayList < String > ( ) ; for ( Map . Entry < Object , Object > entry : map . entrySet ( ) ) { if ( entry . getValue ( ) != null ) { Object key = entry . getKey ( ) ; Object value = entry . getValue ( ) ; String objectString = getObjectString ( value ) ; if ( ! StringUtils . isEmpty ( objectString ) ) { list . add ( getObjectString ( key ) + "=" + objectString + "&" ) ; } } } int size = list . size ( ) ; String [ ] arrayToSort = list . toArray ( new String [ size ] ) ; Arrays . sort ( arrayToSort , String . CASE_INSENSITIVE_ORDER ) ; StringBuilder sb = new StringBuilder ( ) ; for ( int i = 0 ; i < size ; i ++ ) { sb . append ( arrayToSort [ i ] ) ; } return "{" + sb . toString ( ) + "}" ; }
将Object按照key1=value1&key2=value2的形式拼接起来，程序不递归。Value需为基本类型，
或者其toString方法能表示其实际的值

@param o
@return