2 xszst2014 xszst2014 于 2016.09.08 13:05 提问

最近有个问题,突然想不通了,来问问哈

String中有个方法,把字符串变成char数组,例如:str.toCharArray(),在调用的时候,该方法如何获取str的值进行操作,因为该方法并没有参数,没有把str这个字符串当作参数传递呀。。。。

12个回答

cs1075341779
cs1075341779   2016.09.08 15:11

这个是面向对象的思想,str.toCharArray()这个语句执行的时候表示的toCharArray()方法是有str调用的,那么就会以当前对象执行当前方法,参数就是当前对象,或者this

zshcomeon
zshcomeon   2016.09.08 14:56

类似一段伪代码,不知你能理解
class String{
private char[] c = null;

 public String(char[] c ){
   this.c = c;
 }

 pulbic toCharArray(){
       return c;
 }

}

class Test{

pulbic staitc main(String[] args){
String str = new String({'a','b'});
str.toCharArray();
}
}

qq_25673113
qq_25673113   2016.09.08 16:28

toCharArray是String的一个非静态方法,要先创建实例才能运行,而这里的实例就是str这个字符串,他的参数其实已经在str里面传递了

bdmh
bdmh   Ds   Rxr 2016.09.08 13:51

你就把它当成一个实例化的String对象,它自己拆分自己

xszst2014
xszst2014   2016.09.08 14:46

自己拆自己?这要怎么理解

zhuzige521888
zhuzige521888   2016.09.08 17:23

String自己的属性方法当然能自己调用了,str就是String对象啊,要你那么说对象自己的set get 方法 还得穿自己的本身,岂不是一秒回到解放前?

qq_29594393
qq_29594393   Ds   Rxr 2016.09.08 17:24

String 是一个字符串对象,toCharArray,是字符串对象的一个方法,
这个对象调用这个方法的返回值是一个字符型数组
对象的方法调用的是他自己,
面向对象编程中,你写方法,例如 public void check() 他在一个class a中,就是属于这个对象的方法,在方法调用之前,你需要先声明一个对象
a test=new a() ; 然后才有,test.check

daxia_DN
daxia_DN   2016.09.08 17:44
 public static void test03() {
        String str = "123456asdfg";
        char[] sz = str.toCharArray();
        for (int i=0; i<sz.length; i++) {
            System.out.println(sz[i]);
        }
    }
Ro_bot
Ro_bot   2016.09.08 19:24

String里有定义,str本身就是一不可变char[]

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.10 22:57

你别想得那么复杂,就把String当成一个普通的类,然后调用这个类的方法就行啦

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
动规——邮局问题 nkoj 1181
一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同。两个村庄的距离定义为坐标之差的绝对值。我们需要在某些村庄建立邮局。使每个村庄使用与它距离最近的邮局,建立邮局的原则是:所有村庄到各自使用的邮局的距离总和最小。  数据规模:1 Input 2行  第一行:n m {表示有n个村庄,建立m个邮局}  第二行:a1 a2 a
poj——1160——Post Office
题目:用数轴描述一条高速公路,有V个村庄,每一个村庄坐落在数轴的某个点上,需要选择P个村庄在其中建立邮局,要求每个村庄到最近邮局的距离和最小。 分析:经典DP 1、考虑在V个村庄中只建立一个邮局的情况,显然可以知道,将邮局建立在中间的那个村庄即可。也就是在a到b间建立一个邮局,若使消耗最小,则应该将邮局建立在(a+b)/2这个村庄上(可以通过画图知道)。 2、下面考虑建立多个邮局的问题,可以
POJ1160 邮局问题
题意: m个村庄排在同一直线上,在之中建立n个邮局,要求这些村庄到最近的邮局之和最小 要点: 这道题挺难的,思路比较难想到不说还比较难理清 首先:在第a个和第b个村庄中建1个邮局的邮费最小方案应该是建在第(a+b)/2个村庄里,说实在的这个我一开始都不知道。 然后问题就可以拆成DP问题:在前k个村庄中建i-1个邮局加在第k+1到第j个村庄中建1个邮局,这就是一个典型的DP问题了。状态转移
POJ 1160
题意: 把一条高速公路看成一个数轴,在此高速公路上有V个村庄。现知道每个村庄在数轴上的位置,要需要选择P个村庄在其中建立邮局,要求每个村庄到最近邮局的距离之和最小,求最小距离和。思路: 利用动态规划算法求解。 假设数组dp[i][j]表示前j个村庄,建i个邮局的最短距离和; 数组cost[i][j]表示从村庄i到村庄j建一个邮局,所得最短距离。 当从村庄i到村庄j之间只建一个邮局时,将邮局
最近有个想法
与其把一些珍贵的资料都写进别人的网站,不如自己办个网站,反正每天都是要更新的. 这样子长期坚持下来,收入应该能解决网站运营的问题
Ionic生命周期
来自 https://www.jianshu.com/p/72b704b5c9ed收藏一波先1.认识ionic的生命周期钩子 截至ionic 3.8.0版本,框架提供了8个钩子函数,它们分别会在页面生命周期的各个阶段被触发,我们来简单了解一下。 1.1 ionViewDidLoad 页面加载完成触发,这里的“加载完成”指的是页面所需的资源已经加载完成,但还没进入这个页面的状态(用户看到的还是上一
哈稀函数
简介 哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量。 一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision rate)。一般来说,对任意一类的数据存在一个理论上完美的哈希函数。这个完美的哈希函数定义是没有发生任何碰撞,这意味着没有出现
详解java类的生命周期 .
引言         最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,
iOS面试题非技术面试(八)(纯题目)
你认为自己最擅长的技术是什么? 谈谈你对XX行业/技术发展趋势的看法?对最近XX技术问题发表下你的看法? 在五年的时间内,你有什么样的职业发展规划? 你最近有看哪些书或参加过什么样的培训?有灌技术论坛的习惯吗? 今年有什么学习计划?今年有什么目标? 研究过开源项目吗?有什么收获? 你做过哪些项目?最成功的是哪个?为什么? 辛辛苦苦工作半年的项目失败了,你怎么办? 评价下你过去的团队?你喜欢在什么样的
对网文“美国人至今也想不通”有感
  乱世出英雄,不过我对这种战争的事情不感冒。我只知道那些死了的家人没人照顾,那些逃兵却是今天一个一个高高在上的坐着赏受,甚至剥削人民。  我们能战胜说成是一个民族觉醒的力量那只是那些军官们自谦,知道上下一心,其力断金,鼓动人民勇敢抗敌搞出的口号而已,今天再叫这个就显得有点不伦不类了。  他们的军事政治天份带来了新中国,我们确实也同时为之感到骄傲和自豪。但是,千万不要只知道口里面叫“中国人