[단순] 문자열 결합

2846 단어 문자열
작업 중에 맵에서 값을 추출하여 문자열을 연결해야 하는 상황에 부딪혔습니다. 자신이 썼습니다. 좋지 않습니다. 더 우아한 맞춤법을 제시하신 것을 환영합니다. 코드는 다음과 같습니다.
         
import java.util.HashMap;
import java.util.Map;

public class       {
    
	public String getResult(Map<String, String> parasMap){
		if(parasMap==null||parasMap.size()==0){
			return "";
		}
		String result=new String();
		for(Map.Entry<String,String> entry:parasMap.entrySet()){
			if("T_A".equals(entry.getKey())&&"1".equals(entry.getValue())){
				if(result.length()>0){
					result+="、   ";
				}else{
					result+="   ";
				}
			}else if("A_B".equals(entry.getKey())&&"1".equals(entry.getValue())){
				if(result.length()>0){
					result+="、   ";
				}else{
					result+="   ";
				}
			}else if("V_P".equals(entry.getKey())&&"1".equals(entry.getValue())){
				if(result.length()>0){
					result+="、  ";
				}else{
					result+="  ";
				}
			}
		}
		if(result.length()>0){
			return result+"  ";
		}
		return " ";
	}
	public static void main(String[] args) {
		      t=new      ();
		Map<String,String> paramMap=new HashMap<String, String>();
		paramMap.put("V_P","1");
		paramMap.put("T_A","0");
		paramMap.put("A_B","1");
		System.out.println(t.getResult(paramMap));
	}

}

 
결과는 다음과 같습니다.
   

  
-----------------------------------------------2014-8-24 추가--------------------------------------------------------------------
수정된 코드:
public String getResult(Map<String, String> parasMap){
		if(parasMap==null||parasMap.size()==0){
			return "";
		}
		StringBuffer result=new StringBuffer();
		for(Map.Entry<String,String> entry:parasMap.entrySet()){
			if("T_A".equals(entry.getKey())&&"1".equals(entry.getValue())){
				result.append("、   ");
			}else if("A_B".equals(entry.getKey())&&"1".equals(entry.getValue())){
				result.append("、   ");
			}else if("V_P".equals(entry.getKey())&&"1".equals(entry.getValue())){
				result.append("、  ");
			}
		}
		if(result.length()>0){
			 result.append("  ");
			 return result.substring(1);
		}
		return " ";
	}

 
전문이 끝나다.

좋은 웹페이지 즐겨찾기