在java开发中遇到string index out of range:4 这是啥原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java开发中遇到string index out of range:4 这是啥原因相关的知识,希望对你有一定的参考价值。
在java开发中遇到string index out of range:4 的原因一般是数组下标越界。学习java开发推荐千锋教育!在java开发中遇到的常见的难点还有java.lang.nullpointerexception,这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
想要了解更多有关java开发的相关信息,推荐咨询千锋教育。千锋励精图治,不改教育初心。十一年来,千锋以政策为引导,不断完善国内特色现代职业教育体系建设,充分发挥教研师资队伍使命,构建品质教育,加大创新型人才培养力度,为经济发展提供智力人才和智力支撑,成为新时期职业教育发展的新方向,在同行业中有很高的美誉度。实力强大,口碑良好,值得每位学员信赖和选择! 参考技术A 字符串越界 lastIndexOf 方法
返回 String 对象中子字符串最后出现的位置。
strObj.lastIndexOf(substring[, startindex])
lastIndexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
如果 startindex 是负数,则 startindex 被当作零。如果它比最大字符位置索引还大,则它被当作最大的可能索引。
从右向左执行查找。否则,该方法和 indexOf 相同。
下面的示例说明了 lastIndexOf 方法的用法:
function lastIndexDemo(str2)
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.lastIndexOf(str2);
return(s);
参考技术B 数组下标越界
在 PHP 中使用 IMAP 的证书错误
【中文标题】在 PHP 中使用 IMAP 的证书错误【英文标题】:Certificate error using IMAP in PHP 【发布时间】:2011-12-15 01:23:46 【问题描述】:我用尽了所有可能的主机名组合,但我总是遇到证书错误或 IMAP 连接中断。
imap.froiden.com 的证书失败:服务器名称不匹配 证书:/O=imap.mailhostbox.com/OU=转到 https://www.thawte.com/repository/index.html/OU=ThawteSSL123 证书/OU=域验证/CN=imap.mailhostbox.com
我使用的主机名是'imap.froiden.comINBOX
'。有解决此错误的建议吗?
【问题讨论】:
证书是为imap.mailhostbox.com
颁发的 - 对于 SSL 连接,请求的主机名和颁发证书的主机名必须匹配,否则您将收到这些警告/错误。主机名不匹配(在恶意设置中)意味着有人试图欺骗/伪造某些东西。
@MarcB 好吧,我尝试了所有组合,但它不像 imap.froiden.com:993/imap/ssl 那样工作。我需要在主机上配置什么吗?
您应该使用 imap.mailboxhost.com:993/imap/ssl,假设证书是正确的并且它确实是从名为 imap.mailhostbox.com 的机器提供的
@MarcB:导致超时。
【参考方案1】:
证书完全无效。您应该连接到imap.mailboxhost.com:993/imap/ssl
或联系邮件服务器的管理员并索取有效证书。
请注意,虽然您可以使用连接字符串 imap.froiden.com:993/imap/ssl/novalidate-cert
跳过证书验证,但您不应该这样做,因为该标志将允许任何 Man In The Middle 攻击者阅读和撰写您的电子邮件。
【讨论】:
谢谢,imap.example.com/ssl/novalidate-certINBOX
确实有效
谢谢example.com:993/imap/ssl/novalidate-cert收件箱确实为我工作。我真的很开心。我想拥抱你。【参考方案2】:
我可以确认这运行良好:
$mb = imap_open("phoenix.srv.spletnasoba.si:993/imap/ssl/novalidate-cert","username", "password" );
$emails = array();
$messageCount = imap_num_msg($mb);
for( $MID = 1; $MID <= $messageCount; $MID++ )
$EmailHeaders = imap_headerinfo( $mb, $MID );
foreach($EmailHeaders as $key => $value)
if (validateEmail($value))
$emails[$value] = $key;
echo $value."\n";
function validateEmail($email)
return filter_var($email, FILTER_VALIDATE_EMAIL);
【讨论】:
【参考方案3】:如果您使用的是 gmail,请确保在您的 google 帐户的帐户设置页面中打开“允许访问不太安全的应用程序”,以便您能够使用 imap_open() 访问您的 gmail 帐户
【讨论】:
以上是关于在java开发中遇到string index out of range:4 这是啥原因的主要内容,如果未能解决你的问题,请参考以下文章