黑马程序员——StringBuffer的方法概览

本文详细介绍 Java 中 StringBuffer 类的各种方法使用,包括存储、获取、替换、删除等操作,并通过具体示例展示如何应用这些方法实现字符串的高效处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               ----------------------     android培训      java培训   期待与您交流!    ----------------------   
                 

package stringbuffer;

public class StringBuffer_1 {
	public static void main(String[] args) {
		StringBuffer sb=new StringBuffer();
		add(sb);
		System.out.println("------------------------------");
		getChars(sb);
		System.out.println("------------------------------");
		get(sb);
		System.out.println("------------------------------");
		reverse(sb);
		System.out.println("------------------------------");
		replace(sb);
		System.out.println("------------------------------");
		delete(sb);
	}
	//将sb中的数据按指定角标位存入字符数组按角标位存
	public static void getChars(StringBuffer sb){
		char[] c=new char[5];
		sb.getChars(2, 5,c, 2);
		for (int i = 0; i < c.length; i++) {
			System.out.println("c["+i+"]="+c[i]+";");
		}
	} 
	//反转
	public static void reverse(StringBuffer sb){
		System.out.println(sb.reverse());
	}
	//修改,替换
	public static void replace(StringBuffer sb){
		System.out.println(sb.replace(3,8,"abc"));//指定要替换的首尾角标,替换成指定字符串
		sb.setCharAt(3,'q');//指定角标替换字符
		System.out.println(sb);
	}
	//获取
	public static void get(StringBuffer sb){
		System.out.println(sb.charAt(3));
		System.out.println(sb.indexOf("true"));
		System.out.println(sb.indexOf("f",11));//从指定角标开始获取指定字符串角标
	}
	//存储
	public static void add(StringBuffer sb){
		sb.append(33).append(true).append("ffdsa");
		System.out.println(sb);
		sb.insert(2,false);
		System.out.println(sb);
		
	}
	//删除
	public static void delete(StringBuffer sb){
		sb.append("fdafdsa");
		System.out.println(sb.delete(2, 5));//删除指定区域角标元素
		System.out.println(sb.deleteCharAt(2));//删除指定角标元素
		System.out.println("清空缓冲区:"+sb.delete(0,sb.length()));//清空缓冲区
	}
}

               ----------------------     android培训      java培训   期待与您交流!    ----------------------   
                         详细请查看       http://edu.youkuaiyun.com/heima

### 黑马程序员苍穹外卖支付解决方案 #### 微信JSAPI支付流程集成 为了实现苍穹外卖项目中的微信支付功能,需遵循以下技术要点: - **预支付订单创建**:商户系统通过调用微信支付平台提供的`统一下单接口`来获取预支付交易会话标识(prepay_id),这是后续客户端发起支付请求所必需的信息[^1]。 ```java // Java伪代码示例 - 获取prepay_id public String createPrePayOrder(Map<String, Object> params){ // 设置必要的参数并发送HTTP POST请求至官方API地址 HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("https://api.mch.weixin.qq.com/pay/unifiedorder"); List<NameValuePair> paramList = new ArrayList<>(); for (String key : params.keySet()){ paramList.add(new BasicNameValuePair(key, String.valueOf(params.get(key)))); } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList,"UTF-8"); post.setEntity(entity); HttpResponse response = client.execute(post); BufferedReader rd = new BufferedReader( new InputStreamReader(response.getEntity().getContent())); StringBuffer result = new StringBuffer(); String line; while ((line = rd.readLine()) != null) { result.append(line); } Map<String,Object> resultMap = XML.toMap(result.toString()); return "prepay_id=" + resultMap.get("prepay_id").toString(); } ``` - **前端页面签名生成**:基于服务器返回的数据,在前端构建用于唤起支付界面所需的参数列表,并计算出符合要求的签名字符串。此过程涉及时间戳(timestamp)、随机串(nonceStr)以及包名(package),最后利用MD5算法配合应用密钥(appkey)完成最终签名(signType=MD5)。 ```javascript function getSign(data, appKey) { var str = 'jsapi_ticket=' + data.jsapi_ticket + '&noncestr=' + data.nonceStr + '&timestamp=' + data.timestamp + '&url=' + encodeURIComponent(location.href.split('#')[0]); return CryptoJS.MD5(str).toUpperCase() + "&appkey=" + appKey; } wx.config({ debug: false, appId: '', timestamp: '', // 时间戳 nonceStr: '', // 随机数 signature: '',// 签名 jsApiList: ['chooseWXPay'] }); wx.ready(function(){ wx.chooseWXPay({ timestamp: "", // 支付签名时间戳, nonceStr: "", // 支付签名随机串, package: "", // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*), signType: "MD5", // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: "" ,// 支付签名 success: function(res){}, cancel:function(res){} }); }); ``` - **环境配置验证**:确保数据库连接池设置无误,特别是当遇到无法正常访问数据源的情况时,应仔细核对位于`src/main/resources/mapper/application-dev.yml`内的用户名(username)和密码(password)字段是否匹配实际部署环境中使用的凭证信息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King·Forward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值