final Predicate<Movie> movieIncludesActor = movie -> movie.getActors()
.stream()
.anyMatch(firstNamePredicate.and(lastNamePredicate)); // check both the condition for all actors
final List<Movie> movies = allMovies.stream()
.filter(movieIncludesActor) // movie which has such an actor
.collect(toList());
当我调试此代码时,出现错误消息 'System.FormatException:“输入字符串格式错误。” ' 我不知道为什么会这样。
我已经尝试了convert.ToByte和byte.parse(string),但是我不知道为什么它不起作用!
我要你帮我...
答案 0 :(得分:4)
您的代码有很多问题。但是,主要问题是您正在从string
到int
到byte
玩 Conversion-Football 。不要这样做。相反,请保持简单。
您的方法可以归结为以下内容
private byte CalculateChecksum(byte[] realbytesend)
{
byte checksum = 0;
unchecked // allow overflows
{
for (var i = 0; i < realbytesend.Length; i++)
checksum += realbytesend[i];
}
return checksum;
}
或foreach
...
unchecked // allow overflows
{
foreach (var b in realbytesend)
checksum += b;
}
...
或 Linq
private byte CalculateChecksum(byte[] realbytesend)
=> realbytesend.Aggregate((sum, i) => unchecked((byte)(sum + i)));
unchecked关键字用于禁止对以下内容的溢出检查 整型算术运算和转换。