|
发表于 2020-9-30 15:30:01
|
显示全部楼层
==比较的就是对象的地址。你不知道吗?
-----------------------------------
SB, 拜托看清楚代码再讲:
if (str== ???) //这里我想跟main函数里的String str做个==比较
=============================================================
楼主,你基本的编程都不懂啊,你把被比较对象作为参数传进来,怎么比较?就是在C里面也是要这样啊,除非你用全局变量,你怎么不开窍呢?稍微转一下不就行了。
public class StringTest {
public static void changeStr(String str){
String str2=str;
String str="bbb";
if (str==str2){
System.out.println("==");
}
}
public static void main(String[] args) {
String str="aaa";
changeStr(str);
System.out.println(str);
}
}
还有,java里引用和c语言里面的指针概念是等价的。看来学你是刚学java吧,许多东西需要习惯的。java里面的引用虽然和c语言指针是等价的,但是它是不可计算的指针,只能进行相等和不等比较,不能进行加减运算。另外在无法获得引用的物理内存地址,虽然它在内存有实际映象。
|
|