Java传参 String类练习

文章讨论了Java中基本类型和对象作为参数时的传递方式。对于基本类型,Java进行值传递,而对象则是引用传递,因此对象的属性可以被方法内部修改。在数组的例子中,由于数组是引用类型,方法内的修改会影响到原始数组,导致原地修改。这解释了为什么字符串不变而数组元素能被改变的现象。

输出的值是hsp and hava

hsp未被改变的原因是,java是基本数据类型是值传递,对象传参时传的是 引用值 也就是str的地址,故方法change的形参str拿到的是对象ex.str的地址,但是由于在方法中重新赋值给形参str,将会修改形参指向的方向,并不会修改原来ex.str的地址。由此可知输出的ex.str指向的String地址未被修改,输出仍然是hsp

java变hava的原因是,java传数组是 引用值 传递,也就是ex.ch[]的地址(0x44),给了change方法的形参ch(0x44)又因为ch[0]操作的是 ch指向地址(0x44)(这个地址来源于ex.ch[](0x44))字符数组下表为0的字符,所以会修改到堆区 0x44地址的下标为0字符。至此,j变为h。并且最后的ex.ch引用的也是堆区中0x44的地址,所以输出的是hava

 

 

### Kettle 实战传参练习 在实际项目开发过程中,Kettle(也称为Pentaho Data Integration, PDI)作为强大的ETL工具,在数据处理方面有着广泛应用。对于通过接口API传递参数给Kettle作业或转换的任务来说,理解如何正确配置和调用至关重要。 当利用HTTP POST方法向服务器发送请求并期望获取特定响应时,确保携带必要的JSON格式化参数是成功的关键[^3]。如果缺少这些必需的输入,则可能导致服务端无法解析意图进而返回异常信息或者空白结果集。 #### 准备工作 为了实现基于POST请求的数据交互: - **构建RESTful API**:创建能够接收外部提交的信息的服务端点; - **定义预期接收到的内容结构**:通常采用键值对形式表示,如`{"key": "value"}`; - **设置目标URL路径**:指明客户端应访问的具体地址来触发相应逻辑流程; #### 编写Java代码示例 假设有一个简单的场景——从本地数据库读取员工记录并通过网络传输至远程系统保存。可以按照如下方式编码: ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class PostExample { public static void main(String[] args) throws Exception{ String url = "http://example.com/api/employees"; try (CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost postRequest = new HttpPost(url); // 设置头部信息 postRequest.setHeader("Content-Type", "application/json"); // 构建要发送的消息体 String jsonInputString="{\"name\":\"John\",\"age\":30}"; StringEntity entity=new StringEntity(jsonInputString); postRequest.setEntity(entity); CloseableHttpResponse response=httpClient.execute(postRequest); System.out.println(response.getStatusLine().getStatusCode()); } } } ``` 此段程序展示了怎样构造一个带有自定义负载的有效POST请求,并将其定向到预设的目的地。注意这里使用了Apache HttpClient库来进行网络通信操作。 #### 配置Kettle中的HTTP Client步骤 1. 将上述编写的文件打包成jar包,并放置于Kettle安装目录下的libext/java文件夹内; 2. 在Spoon界面里新增“User Defined Java Class”组件; 3. 输入完整的名(含包路径),例如com.example.PostExample; 4. 连接到其他节点完成整个工作流的设计。 以上过程描述了一个基本框架用于指导读者实践Kettle环境下发起带参数的HTTP POST请求的方法论。当然实际情况可能更为复杂,涉及到更多细节调整和技术选型考量。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值