java怎么打印字符串的地址

如题所述

Java没有办法打印字符串的地址,因为在Java虚拟机中已经不用指针了。引用在虚拟机中是不能直接反回值的。
你还是放弃这种想法吧。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-08-13
toString()打印的不是对象的内存地址。而是类名@hashcode十六进制后的值。
java中的一切类都直接或间接继承了父类Object,而String重写了父类Object的toString()方法,返回的是this,是它自己本身。
你看Object中的toString();是怎么写的?你用引用名.getClass().getName()+"@"+Integer.toHexString(引用名.hashCode()),因为hashcode不同,对象一定不同。如果hashcode相同,对象不一定相同。
hashcode其实是内存地址对应的数值经过hash算法得到的值,通过hashcode只能确定对象放在散列结构的某一层,但是这一层有很多个对象,不能确定到具体地址。
第2个回答  2010-04-29
这个问题我以前也碰到过,其实并没有想象中的那么难,用hashcode()即可,具体用法是,字符串名.hashcode() 你可以直接输出:System.out.println(字符串名.hashcode());这样就可以了,不过其中还涉及到一些覆盖的细节,我们可以不考虑,但要知道。希望对你有帮助。本回答被提问者采纳

java怎么打印字符串的地址
Java没有办法打印字符串的地址,因为在Java虚拟机中已经不用指针了。引用在虚拟机中是不能直接反回值的。你还是放弃这种想法吧。

java 怎么获得字符串中某一字符的位置
1、获取长度:.length();\/\/这与数组中的获取长度不同 2、比较字符串:(1) equals() \/\/判断内容是否相同 (2)compareTo() \/\/判断字符串的大小关系 (3)compareToIgnoreCase(String int) \/\/在比较时忽略字母大小写 (4)== \/\/判断内容与地址是否相同 (5)equalsIgnoreCase() \/\/忽略大小写的情况下...

java 中 如何 输出 (打印出)字符数组 CharSequence[] chars; ?? 直接...
toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串;直接打印就行了,不用调用toString for(char c:chars)System.out.println( c[i]);...

java如何获取字符位置?
Java中String提供的常用操作函数:char charAt(int index)。返回指定索引处的 char 值。具体操作:条件是:(index = str1.indexOf(str2, index + 1)) >= 0 str1.indexOf(str2, index + 1) 查出str2从左到右第一次出现的位置, index = str1.indexOf(str2, index + 1) 将位置赋值给i...

如何用java求一个字符串在另一个字符串中出现的位置?
import java.util.*;public class CountChars { public static void main(String[] args) { Scanner sc = new Scanner(System.in);System.out.println("Please Input Your String!");String str = sc.nextLine();Map<Character, Integer> map = countLetters(str);System.out.println("total ...

java中如何高效获得字符串中特定字符的所有位置?
你试下下面的代码能满意吗 ,我已经试过了,可以的:\\x0d\\x0a public static void main(String args[]) {\\x0d\\x0aString str = "12&32&位置&yutye";\\x0d\\x0aSystem.out.println("&在字符串中出现的位置分别为:");\\x0d\\x0afor(int i=-1; i<=str.lastIndexOf("&");++i)\\...

java打印字符串引用为什么不是地址值
因为java.lang.String类继承了java.lang.Object,重写了java.lang.Object类中的toString()方法,如果想获取字符串引用对象,可以参见下图:

java通过一个模板获取字符串相应位置的内容
*?)MB,超出套餐(.*?)MB");Matcher matcher = pattern.matcher("截至09月02日22时27分,您本账期移动数据流量共30.00MB,已使用15.84MB,超出套餐14.16MB");已使用15.84MB,剩余14.16MB 1.获取*号位置的值");第一个*:matcher。find();matcher.group(1);2:matcher.group(2);。。。

java怎么用正则表达式提取字符串中所有url
import java.util.regex.*; class q255394454 { public static void main(String[] args) { Pattern pattern = Pattern.compile("http:\/\/[\\\\w\\\\.\\\\-\/:]+"); Matcher matcher = pattern.matcher("你的字符串,审核通不过"); StringBuffer buffer = new StringBuffer(); while(...

java 输入一个字符串,打印出该字符串中字符的所有排列
实现思路:就是输入字符串后,通过递归的方式,循环每个位置和其他位置的字符。import java.util.Scanner; public class Demo001 { public static void main(String[] args) { String str = ""; Scanner scan = new Scanner(System.in); str = scan.nextLine(); permutation(str.t...

相似回答