java小白写题遇见的问题(1)

这是我写题遇见的问题,还得从实践中找问题才能记住:

接口不能直接实例化
如:Queue<String> q=new Queue<String>();错
Queue是接口,应该这样写:
Queue<String> q = new LinkedList<String>();
或Queue<String> q = new PriorityQueue<String>();

----------------------------------------------------------------------------------------------


这个错误信息表明你在 Java 代码中尝试将一个 `int` 类型的值用作布尔条件。Java 中的条件语句(如 `if`、`while` 等)需要布尔类型的表达式,而不能直接使用整数。
不能while (sz--){},应该while(sz-->0)
必须是bool类型


----------------------------------------------------------------------------------------------

假设String s;
String不是数组,不能用s[0],s[1]等访问
如果想访问字符串中的字符,使用 `charAt` 方法
char ch = str.charAt(0); // 正确的写法
注意str.charAT(0)只是取出,不能修改
想要修改string,就别用string了,换用StringBuilder
String不可修改,想修改要转化为字符数组再变回去,太麻烦
所以以后可以都用stringbuilder
s.setCharAt(0, 'd')

如果你有一个方法需要一个字符串数组,但你传递了一个字符串:
String str = "Hello";  
someMethod(str); // 这里会导致错误
你应该将其更改为:
String[] strArray = {"Hello"};  
someMethod(strArray); // 正确的写法
确保在代码中使用正确的数据类型,以避免此类错误。

----------------------------------------------------------------------------------------------
把string传给stringbuilder:
StringBuilder tmp = new StringBuilder(startGene);
把string中的某个字符赋给stringbuilder:
tmp.setCharAt(i,base.charAt(j));

----------------------------------------------------------------------------------------------
判断字符串是不是相等:一定要用equals,这里tmp是stringbuilder
tmp.toString().equals(endGene)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值