JAVA经典实例--连接字符串

问题:将一些字符串连接起来
  解决之道:
  三种方法:
  1、直接用+号连接,编译器将构造一个StringBuffer对象,并调用其append方法
  2、自己构造StringBuffer对象,有append()方法将返回对StringBuffer对象本身的引用。
  3、通过toString方法
  代码:
  / * StringBufferDemo: 用三种方式构造同样的字符串  */
  public class StringBufferDemo {
      public static void main(String[] argv) {
          String s1 = "Hello" + ", " + "World";
          System.out.println(s1);
  
          // 构造StringBuffer对象,并添加一些字符串
          StringBuffer sb2 = new StringBuffer();
          sb2.append("Hello");
          sb2.append(',');
          sb2.append(' ');
          sb2.append("World");
  
          // 将StringBuffer值转换为字符串,并输出
          String s2 = sb2.toString();
          System.out.println(s2);
  
          // 现在重复上面的工作,但是采用更为简明的方式
          // 典型的“real-world”JAVA
  
          StringBuffer sb3 = new StringBuffer().append("Hello").
              append(',').append(' ').append("World");
          System.out.println(sb3.toString());   
      }
  } 
  
  小结:事实上,不论修改了StringBuffer中的多少字符,所有的方法append(),delete(),deleteCharAt(),insert(),replace(),reverse()等等都只返回改StringBuffer对象的引用,这样十分有利编程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import java.sql.*; import jdbc.DBManager; import jdbc.DBManagerTest; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author * @version 1.0 */ /** * DBManager示例程序 */ public class Test { public Test() { } public static void main(String[] args) { DBManagerTest DBManagerTest1 = new DBManagerTest(); DBManager db_manager = new DBManager(); ResultSet result = null; // 数据库查询结果 try { db_manager.connect("rcms"); // 建表 db_manager .execute("create table table22 (c1 varchar(32) not null,c2 varchar(21))"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表更新操作,包括insert,update,delete db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow1','engine1')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow2','engine2')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow3','engine3')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow4','engine4')"); db_manager.beginTransaction(); // for(int i=1500;i<2000;i++){ //// db_manager.executeUpdate("insert into T_USER (USER_ID, USER_NAME, ORG_ID, PASSWD, OLD_PASSWD, STATION, CREAT_DATE, CREAT_TIME, ALTER_DATE, ALTER_TIME, DEL_DATE, TEL, EMAIL, STATUS, SEX, ACADEMIC, CERTI_TYPE, CERTI, FAX, ADRESS, POSTCODE, BAK1, BAK2, BAK3, BAK4, BAK5)values ('test00"+i+"', 'test00"+i+"', '0001 ', 'FF5E61835C355E755EEF9321 ', 'A43B59E342F86CEE5EEF9321 ', '0 ', '20071201', '101010', null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','')"); // if(i%300==0)db_manager.commitTransaction(); // } } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表查询操作,返回结果集存在DBResult类中,DBResult中的数据库查询结果已与数据库断开连接了, // 不能动态更新,注意在并发操作中应重新执行表查询操作 result = db_manager.executeQuery("select * from table22"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } // int rows = result.getRows(); //返回的记录数 try { while (result.next()) { String s = result.getString("c1");// 取第4条记录c1的字段 System.out.println(s); s = result.getString("c2"); System.out.println(s); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } }
Java中的字符串是不可变的,即每当对字符串进行更改时,都会创建一个新的实例。为了处理可变字符串Java提供了StringBuffer和StringBuilder类。StringBuffer是线程安全的,适用于多线程环境下的字符串操作,而StringBuilder则是非线程安全的,适用于单线程环境下的字符串操作。这两个类提供了一系列的方法来对字符串进行连接、比较、截取、查找和替换等操作。\[1\]\[2\]在Java中,字符串可以通过使用+运算符或者调用String类的concat()方法来进行连接。此外,还可以使用String类的substring()方法来截取字符串的一部分,使用indexOf()方法来查找指定字符或子字符串的位置,使用replace()方法来替换字符串中的字符或子字符串。以上是Java字符串的一些基本操作,还有更多的方法可以根据具体需求进行使用。 #### 引用[.reference_title] - *1* [【Java】常用数据结构之字符串](https://blog.csdn.net/weixin_40109345/article/details/121048060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Java-数据结构-字符串专题一>](https://blog.csdn.net/weixin_45532984/article/details/125984603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值