「java参数对象修改值」java参数设置
今天给各位分享java参数对象修改值的知识,其中也会对java参数设置进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何理解java将对象作为参数
- 2、java 里为什么不能改变参数的值,但能改变参数的属性值?
- 3、Java中如何改变参数的值(实现按址传递)
- 4、java修改文件中对象的相关参数
- 5、java servlet中如何修改session中的某个对象的某个参数值?
- 6、java修改请求参数的值
如何理解java将对象作为参数
根据以下几点来理解对象参数:
第一,基本数据类型(int,long,float等)作为参数传递,无论在方法中对该参数如何修改,都不会改变原值,即调用完方法后,值不会改变。
举个例子:
m(int
a){
a=3;
}
int
a=0;
m(a);
System.out.println(a);
此时,a的值为0,值不会改变。
第二,对象(StringBuilder)作为参数传递时,在方法中对对象的值进行修改,会改变原来对象中的内容。
同样地:
m(StringBuilder
s
){
s.append("b");
}
StringBuilder
s
=
new
StringBuilder();
s.append("a");
m(s);
System.out.println(s.toString());
此时,打印s的值为
ab,对象内容由
“a”变成
“ab”。
java 里为什么不能改变参数的值,但能改变参数的属性值?
参数有两种方式,普通类型如int,String等为传值,其他的如JAVA对象,数组,集合等均为传址。
传值方式只是把值传入参数,在方法里的任何动作与源无关,源的值不变;
传址方式是把源对象的地址传入方法,在方法里的动作都是直接操作源对象,所以能改变其值。
Java中如何改变参数的值(实现按址传递)
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。你的题目本身就有歧义,无法直接针对题目作答(因为java不存在类似c或c++那样的传址)。我从头讲起:
(一)基本数据类型:传值,方法不会改变实参的值。
(二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。例如
public class TestFun4 {
public static void testStringBuffer(StringBuffer sb){
sb.append("java");//改变了实参的内容
}
public static void main(String[] args) {
StringBuffer sb= new StringBuffer("my ");
new TestFun4().testStringBuffer(sb);
System.out.println("sb="+sb.toString());//内容变化了
}
}
java修改文件中对象的相关参数
之间不是回答过你了吗,有保存方法,和读取方法呀,,你要是想修改,先读出来,然后修改下参数,再保存呗。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;
/**
*
* @author QUAN
*
*/
public class Test
{
/**
* 保存对象
* @param obj
* @throws IOException
*/
public static void saveObject(Object obj) throws IOException
{
File file = new File("D:/test/file.ser");
if (!file.exists())
{
file.getParentFile().mkdirs();
file.createNewFile();
}
OutputStream os = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(obj);
oos.close();
}
/**
* 读取对象
* @return
* @throws IOException
* @throws ClassNotFoundException
*/
public static Object readObject() throws IOException,
ClassNotFoundException
{
InputStream is = new FileInputStream("D:/test/file.ser");
ObjectInputStream ois = new ObjectInputStream(is);
Object obj = ois.readObject();
ois.close();
return obj;
}
public static void main(String[] args)
{
Plane p = new Plane();
p.setId(1);
p.setName("MH370");
Plane p1 = new Plane();
p1.setId(2);
p1.setName("Air Plane One");
Plane[] fly = { p, p1 };
try
{
saveObject(fly);
Plane[] result = (Plane[])readObject();
for(Plane e : result)
{
System.out.println("id:" + e.getId() + "\t" + "name:" + e.getName());
}
}
catch (IOException e)
{
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
}
}
class Plane implements Serializable
{
/**
*
*/
private static final long serialVersionUID = 6865564924659901756L;
private int id;
private String name;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
java servlet中如何修改session中的某个对象的某个参数值?
HttpSession session = request.getSession();
goodst s = session.getMaxInactiveInterval("s1");
s.count=??
session.setAttribute("s1", s);
先获取对象,改掉值后重新添加进去.
java修改请求参数的值
//rquestName为请求来的名字,aa为追加的内容。
String name = request.getParameter("rquestName") + "aa";
如果你要修改为与传来的值完全没有关系,则直接将值赋予name
java参数对象修改值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java参数设置、java参数对象修改值的信息别忘了在本站进行查找喔。