字符串如何在java中终止?

你好
我正在尝试编写一个递归函数来计算Java中字符串的长度
我知道已经存在str.length()函数,但问题语句想要实现递归函数

在C编程语言中,终止字符是’\ 0’,我只想知道如何知道字符串是否以Java结尾

当我在测试字符串中放入’\ n’时,我的程序结束得很好。 请告诉我。 谢谢!

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package careercup.google; /** * * @author learner */ public class Strlen { private static final String Test = "abcdefg\n"; private static int i =0; public static void main(String args[]){ System.out.println("len : " + strlen(Test)); } private static int strlen(String str){ if(str == null){ return 0; } if(str.charAt(i) == '\n'){ return 0; } i += 1; return 1 + strlen(str); } } 

输出:

 run: len : 7 BUILD SUCCESSFUL (total time: 0 seconds) 

请记住,此代码效率很低,但它以递归方式计算String的长度。

 private static int stringLength(String string){ if(string == null){ return 0; } if(string.isEmpty()){ return 0; } return 1 + stringLength(string.substring(1)); } 

Java字符串不是C字符串。 字符串以其长度中的字符数结束。

我不认为这是一个很好的问题,因为Java中的String由带有计数的char数组支持,你可以非常简单地获得长度,为什么要麻烦地实现递归方法?