① java中如何修改String 字符串的值,比如give改成gave
String是不可变的对象,把“give”变成“gave”,实际上是把引用从“give”指向“gave”。
② java应该怎么改
一个.java文件中只允许定义一个public的类,而且要求这个类必须和所在的.java文件同名,你在一个文件里定义了2个public的类,把它拆分出来,拆到不同的文件里去
③ java中如何实现修改功能
public interface Parent(){
public void simpleCall();
}
public class Child_A implements Parent{
public void simpleCall(){
System.out.println("a---simpleCall");
}
}
public class Child_B implements Parent{
public void simpleCall(){
System.out.println("b---simpleCall");
}
}
child_a和child_b中的simpleCall可以实现不同的功能。。。多态,简单说其实就是一种功能的多种实现方式。或者理解为多种形态。
④ java怎么修改Set里的值
通过remove和add方法,set集合中的对象属性为private final
Set接口
集合里的多个对象没有明显顺序。Set集合和Collection基本一样,没有
提供额外方法,只是和Collection行为不同
Set集合不允许包含相同的元素,如果add的是两个相同元素会返回false
Set不实用==运算符,根据equals方法
HashSet类
HashSet类是Set接口的典型实现,大多数时候使用Set集合都是用这个类实现
HashSet按Hash算法来存储集合中的元素
HashSet特点:
1.不能保证元素的排列顺序,顺序可能变化
2.HashSet不是同步的,多个线程同时访问一个Set集合,必须用代码
保证同步
3.集合元素值可以是null
当向HashSet集合中存入一个元素,HashSet会调用该对象的HashCode()
得到对象的hashCode,根据HashCode来决定对象在HashSet中的位置
如果两个元素equal方法比较返回true但是hashCode()方法返回值不同,
HashSet会把两个元素存储在不同位置
HashSet判断两个元素相同需要equal和hashCode都相同
因此重写类的equals方法和hashCode()方法要保证两个对象通过equals
返回true时hashCode也相等
Hash算法保证通过一个对象快速找到另一个对象。可以很快的执行,当需要
查找集合中的某个元素时,hash算法可以直接根据该元素的值找到该元素
从而让程序快速找到元素。
在数组中通过数组元素索引寻找元素,HashSet通过hashcode索引
重写hashCode()方法的基本步骤
当两个对象通过equals方法返回true时,两个对象的hashCode相等
对象中用作equals比较标准的属性,应该用来计算hashCode
向HashSet中添加可变对象时,如果修改HashSet集合中对象,有可能导致
该对象与集合中其他对象相等,从而导致HashSet无法正确访问对象
HashSet有一个子类 LinkedHashSet,LinkedHashSet集合也是根据HashCode来决定
元素的存储位置,同时使用链表维护元素次序,这样是的元素看起来是以
插入顺序保存,便利集合时会按插入顺序来访问。
Linked需要维护元素的插入顺序,性能略低于HashSet,但在迭代时性能更好
TreeSet是SortedSet接口的唯一实现
TreeSet可以确保元素处于排序状态。提供了几个额外方法:
1.Comparator
comparator():返回当前Set使用的Comparator,或者null,表示
自然的方式排序
2.Object first():返回集合中的第一个元素
3.Object last():返回集合中最后一个元素
4.Object lower(Object
e):返回集合中位于指定元素之前的元素
5.Object higher(Object
e):返回集合中位于制定元素之后的元素
6.SortedSet
subSet(fromElement,toElement):返回set的子集,范围从from到to
7.SortedSet headSet(toElement)返回set子集,小于toElement
8.SortedSet
tailSet(fromElement)返回set子集,由大于等于fromElement元素组成
TreeSet是根据元素值来进行排序而不是根据插入顺序
TreeSet采用红黑树的数据结构对元素排序 :支持自然排序(默认)和定制排序
自然排序:
TreeSet会调用集合元素的compareTo方法来比较元素之间的大小关系,
然后将集合元素按升序排列。
Java提供了一个Comparable接口,该接口定义了一个compareTo(Object obj)方法
该方法返回一个整数值,实现该接口的类必须实现该方法,实现了该接口的类的对象
可以比较大小。obj1.compareTo(obj2),如果方法返回0,表明两个对象相等。如果
返回正整数,表明obj1大于obj2;如果返回负整数,表明obj1小于obj2
如果要将对象添加如TreeSet该对象必须实现Comparable接口
当想TreeSet中添加对象时,会先将要添加的对象与TreeSet中的对象用compareTo比较
如果找不到compareTo则引发ClassCastException异常
因为只有同一个类型才能比较大小 所以TreeSet中添加的应该是同一个类型的对象
TreeSet和HashSet集合中的对象如果是可变对象,对象属性改变时,会导致集合处理
对象复杂化,易出错。所以应该尽量在集合中添加不可变对象
不可变对象是
1.属性为private final
2.含有带参数构造器,为对象初始化
3.属性有get方法没有set方法
定制排序:
TreeSet的自然排序是根据集合元素大小,TreeSet将它们以升序排列。使用定制
排序,如降序,使用Comparator接口的帮助。接口中包含一个int compare(T o1,T o2)
用于比较o1和o2的大小:重写该方法可以改变排序规则
⑤ java 修改java文件的内容
不懂你的意思呃,是要修改.java文件吗,直接 用io读取和写文件,用字符串比较定位要修改的内容不就完了吗,就当和txt文件一样操作....
⑥ JAVA的一键修改
用Eclipse可以改,选中方法名,右键,Refactor -》rename
或按alt+shift+R 可以改名
⑦ JAVA代码修改方法!希望能详细点!
要全代码才可以
⑧ java类的方法怎么修改和删除
你是说怎么完成这段代码吗。
电影名、导演、价格都是变量
你是不是想写个代码获得不同的用户信息然后进行打印。
首先无论怎么写一定要先有个main方法。比如说你的show方法想要跑起来就在main方法里叫一下他
show(filmTitle,director,price);
因为show方法里已经有个System.out.println();
所以给他传值运行之后信息就打印出来了。在show方法之前你要有scanner去获取你要输入的信息。
Scanner sc = new Scanner(System.in);
然后获得你要输入的信息,比如price
System.out.println("请输入相应的价格");
price = sc.nextDouble(); 以此类推
⑨ 修改JAVA代码
首先我先说下jdk是不支持泛型的,但是可以用强制转型的方式
1.去掉每个类的<>的东西,如改写成List sockets=new ArrayList();报错的地方用强制转型的方式改写,如(Socket) socket
2.ChatToMul这个类中for循环改写为Iterator
for(Iterator it = sockets.iterator();it.hasNext();){
Socket socketto = (Socket) it.next();
PrintWriter pw=MyUtil.getPrintWriter(socket);
PrintWriter pwto=MyUtil.getPrintWriter(socketto);
pw.println(socket.getRemoteSocketAddress().toString()+"对"+
socketto.getRemoteSocketAddress().toString()+"说:"+message);
pw.flush();
pwto.println(socket.getRemoteSocketAddress().toString()+"对"+
socketto.getRemoteSocketAddress().toString()+"说:"+message);
pwto.flush();
}
这样基本改写成功。
如果需要源代码话,就联系我,我传给你,
代码改写不易,望采纳
⑩ java 怎么修改string值
String对象不可修改指的是对象本身不可修改,而不是引用不可修改。
String a = "你好";
这行代码的意思是声明一个String类型的引用变量叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。
a = "hello";
这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。如果之后内存中那个“你好”的String对象没有任何引用,那么就会被下一次垃圾回收器运行时回收。
String和所有的基本类型包装类的对象都是不变量。内存中的不变量对象的值是不能被改变的。