`
53873039oycg
  • 浏览: 841709 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]拼接字符串

 
阅读更多

         工作中遇到需要从Map里面取值拼接字符串的情况,自己写了个,不是很好,欢迎提出更优雅的写法,代码如下

         

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 " ";
	}

 

   全文完

 

0
0
分享到:
评论
2 楼 53873039oycg 2014-08-24  
dl12346 写道
没看明白具体的需求是什么。。。更像是表示map怎么用的演示代码
几个建议:
1、字符串的拼接不要使用String的直接连接,使用StringBuffer。
2、可以实现将MAP的key和value对应的字符串(叔本华...等)放入另一个map中,这样就不用使用那么多的if判断,根据创建的map中的键值对对象来直接取值。
例如:
map resultMap
resultMap.put("T_A@1","黑格尔");
....
然后根究从map中取得的键值对拼接成字符串,中间用@连接,这样就可以从resultMap以拼接好的字符串,获得对应的值。
3、单纯为了加顿号,没必要使用那么多if,直接每次拼接都都以“、叔本华”为拼接的字符串,在字符串拼接完成之后,截取掉第一位,并加上“等”就可以了。

第2点做不到,因为map是从数据库拿到的,只能拿到1或者0,第1点我也想过,第3点不错,需求就是根据数据库返回的值拼接字符串,值为0的忽略。
1 楼 dl12346 2014-08-24  
没看明白具体的需求是什么。。。更像是表示map怎么用的演示代码
几个建议:
1、字符串的拼接不要使用String的直接连接,使用StringBuffer。
2、可以实现将MAP的key和value对应的字符串(叔本华...等)放入另一个map中,这样就不用使用那么多的if判断,根据创建的map中的键值对对象来直接取值。
例如:
map resultMap
resultMap.put("T_A@1","黑格尔");
....
然后根究从map中取得的键值对拼接成字符串,中间用@连接,这样就可以从resultMap以拼接好的字符串,获得对应的值。
3、单纯为了加顿号,没必要使用那么多if,直接每次拼接都都以“、叔本华”为拼接的字符串,在字符串拼接完成之后,截取掉第一位,并加上“等”就可以了。

相关推荐

    C# 拼接字符串的几种方式和性能

    C# 拼接字符串的方式有多种,每种方式都有其优缺,今天我们将讨论三种常用的方式:简单“+=”拼接法、String.Format()和StringBuilder.Append()。 1. 简单“+=”拼接法 简单“+=”拼接法是最简单的拼接方式,但...

    ibatis拼接字符串

    尽管手动拼接 SQL 字符串是一种简单有效的方法,但在实际项目中还应注意以下几点: 1. **安全性**:使用预编译语句(PreparedStatement)来避免 SQL 注入等问题。 2. **性能优化**:对于频繁执行的 SQL 语句,可以...

    存储过程拼接字符串

    当我们需要在存储过程中拼接字符串时,通常是为了解决动态SQL构造或者生成报告等需求。在本文中,我们将深入探讨如何在SQL中进行字符串拼接。 一、SQL Server中的字符串拼接 1. 使用`+`运算符 在SQL Server中,最...

    fortran字符串拼接

    FORTRAN 字符串拼接 在 Fortran 语言中,字符串拼接是非常重要的操作之一。它可以将整数或实数类型转换为字符串类型,以便于文件命名、数据读取和写入等操作。在本节中,我们将详细介绍 FORTRAN 字符串拼接的方法和...

    vue语法之拼接字符串的示例代码

    下面是一个简单的示例代码,演示了如何在Vue语法中拼接字符串: ```html ['xxx(需要拼接的字符串)'+item.picurl]" alt="" width="100%" height="245" /&gt; ``` 在上面的代码中,我们使用了数组语法来拼接字符串。...

    matlab中拼接字符串的三种方法

    在本文中,我们将介绍 Matlab 中三种拼接字符串的方法,并提供两个示例。 方法 1:使用字符串数组 在 Matlab 中,我们可以使用字符串数组来拼接字符串。字符串数组是一种特殊的数组,其中每个元素都是一个字符串。...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,将多行数据合并为一行,尤其是在某一列进行字符串拼接,是一项常见的需求。这通常用于汇总数据、创建报表或者为了分析目的而整合信息。本文将深入探讨如何利用SQL实现多行数据的合并,特别关注字符串拼接的...

    字符串拼接工具

    它能够帮助开发者快速、有效地组合多个字符串,添加前缀或后缀,使得多行文本的格式化变得简单。 在编程中,字符串拼接通常是通过字符串连接运算符或者使用特定的函数来实现的。例如,在Python中,我们可以使用 "+...

    js两种拼接字符串的简单方法(必看)

    本文将介绍两种在JavaScript中拼接字符串的简单方法,第一种是传统的直接相加操作符(+),第二种是利用数组的join()方法进行拼接。 1. 直接相加操作符(+)拼接字符串: 在JavaScript中,可以使用加号(+)操作符来拼接...

    Python字符串拼接方法详解.docx

    Python 中最简单的字符串拼接方法是使用“+”连接。例如: ``` a = 'hello' b = 'python' c = '!' print(a + ' ' + b + ' ' + c) # 输出:hello python ! ``` 这种方法的特点是两个字符串是直接相连的。如果是连成一...

    js两种拼接字符串的简单方法(必看).docx

    在JavaScript中,可以直接通过“+”运算符来拼接字符串。这种方法简单直观,易于理解。例如: ```javascript let part1 = "Hello, "; let part2 = "world!"; let message = part1 + part2; console.log(message); /...

    JAVA的字符串拼接[参照].pdf

    1. **字符串拼接操作符 (+)**: 这是最直观且简单的字符串拼接方式,适用于少量或静态字符串的连接。然而,每次使用`+`操作符时,如果涉及到字符串常量,Java会创建一个新的字符串对象,这在循环中会引发大量的对象...

    详解Python如何拼接字符串.pdf

    这种方式简单易懂,但每次拼接都会创建新的字符串对象,对于大量拼接操作可能导致性能下降: ```python str_1 = 'Hello' str_2 = 'world!' print(str_1 + str_2) ``` 在Python中,短字符串拼接的性能优化在于...

    pb技巧函数与字符串操作

    PB中操作Excel的技巧集 oleobject sheet long ll_row_count,ll_col_count excel1 = CREATE OLEObject dd = excel1.connecttonewobject("Excel.Application") ... messagebox('提示:','您的机器没有...

    matlab数组字符串-几个简单的Matlab字符串样例

    在 Matlab 中,可以使用方括号 [] 来拼接字符串,例如:str1 = "Hello "; str2 = "world"; str = [str1,str2]; 这将输出一个新的字符串:Hello world。 五、访问字符串中的单个字符 在 Matlab 中,可以使用小括号 ...

    详解Python如何拼接字符串.docx

    在Python编程中,字符串拼接是一项常见的任务,用于构建复杂的文本。本文将详细解析Python中五种主要的字符串拼接方法,并分析它们的特性和适用场景。 1. **C语言风格的%操作符** `%`操作符源自C语言,用于格式化...

    java中拼接字符串的5种方法效率对比

    Java 中拼接字符串的 5 种方法效率对比 在 Java 中,字符串拼接是我们日常开发中经常遇到的一个问题。随着项目的发展和复杂度的增加,字符串拼接的效率变得越来越重要。今天,我们将通过测试和分析,比较 Java 中 5...

    +作为java中的拼接字符串的功能

    ### Java中使用"+"进行字符串拼接的理解 在Java编程语言中,字符串操作是十分常见的需求之一,尤其是在构建动态内容或处理大量文本数据时。本文将深入探讨如何在Java中使用"+"运算符进行字符串拼接,并分析其性能...

    如何利用js拼接html字符串.docx

    - 如果使用普通字符串拼接,可以将每一行都放在同一行内或者使用转义字符`\`来避免换行问题。 ```javascript var html = "&lt;div&gt;\ &lt;h1&gt;Nikeme&lt;/h1&gt;\ 约会:" + one.myhuifangshi + "&lt;/p&gt;\ 状态:" + zt + ...

    Shell 字符串拼接的实现示例

    1. 字符串声明 ... 简单的字符串拼接 脚本 1: #/bin/bash # 字面量拼接 # 1. 两个串依次排列即可 # 2. 不能有空格, 否则会报错 # 12 str01=12 echo ${str01} # 引号混合 # 12 str02=1'2' echo ${

Global site tag (gtag.js) - Google Analytics