他们记录了android java实现的缺陷?

他们记录了android java实现的缺陷?,第1张

概述我正在玩一个简单的 android应用程序,使用运行android-7(2.1)的模拟器和一个运行android-8(2.2)的moto-defy. 我碰到一个有趣的问题,一个CSV解析应用程序在模拟器上失败,但成功地在defy和常规的java应用程序(使用sun java). 我跟踪问题,原因是android-7的StringReader的实现不支持负的跳过 *** 作: Android的7: /** 我正在玩一个简单的 android应用程序,使用运行androID-7(2.1)的模拟器和一个运行androID-8(2.2)的moto-defy.

我碰到一个有趣的问题,一个CSV解析应用程序在模拟器上失败,但成功地在defy和常规的java应用程序(使用sun java).

我跟踪问题,原因是androID-7的StringReader的实现不支持负的跳过 *** 作:

Android的7:

/** * Skips {@code amount} characters in the source string. Subsequent calls of * {@code read} methods will not return these characters unless {@code * reset()} is used. * * @param ns *            the maximum number of characters to skip. * @return the number of characters actually skipped or 0 if {@code ns < 0}. * @throws IOException *             if this reader is closed. * @see #mark(int) * @see #markSupported() * @see #reset() */@OverrIDepublic long skip(long ns) throws IOException {    synchronized (lock) {        if (isClosed()) {            throw new IOException(Msg.getString("K0083")); //$NON-NLS-1$        }        if (ns <= 0) {            return 0;        }        long skipped = 0;        if (ns < this.count - pos) {            pos = pos + (int) ns;            skipped = ns;        } else {            skipped = this.count - pos;            pos = this.count;        }        return skipped;    }}

J2SE 1.6:

/** * Skips the specifIEd number of characters in the stream. Returns * the number of characters that were skipped. * * <p>The <code>ns</code> parameter may be negative,even though the * <code>skip</code> method of the {@link Reader} superclass throws * an exception in this case. Negative values of <code>ns</code> cause the * stream to skip backwards. Negative return values indicate a skip * backwards. It is not possible to skip backwards past the beginning of * the string. * * <p>If the entire string has been read or skipped,then this method has * no effect and always returns 0. * * @exception  IOException  If an I/O error occurs */public long skip(long ns) throws IOException {    synchronized (lock) {        ensureopen();        if (next >= length)            return 0;        // Bound skip by beginning and end of the source        long n = Math.min(length - next,ns);        n = Math.max(-next,n);        next += n;        return n;    }}

因此,androID版本保持一个字符向前,而不是向后跳过(解析器在某些情况下使用这个来预读字符).

我的问题是J2EE规范中存在的各种不兼容性和差异性在哪里?如果没有,你们还遇到什么其他问题.

谢谢,p.

解决方法 AndroID的问题追踪器有一个要看的地方.

另一个地方是Apache Harmony问题追踪器.

诚然,使用问题跟踪器将涉及搜索而不是浏览精心分类的网络.你可以认为这是一个机会…

FWIW – 搜索和谐问题跟踪器显示了在各种流类中跳过的行为有一些问题.一个问题抱怨一些类的行为与javadoc不匹配,而且被关闭的行为表示它的DID与RI行为相匹配,因此该错误在javadoc中.

我的看法是,Sun / Oracle对这种事情承担了很多责任,因为他们拒绝以合理的条件向TCM和Apache Harmony项目许可证.

总结

以上是内存溢出为你收集整理的他们记录了android java实现的缺陷?全部内容,希望文章能够帮你解决他们记录了android java实现的缺陷?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存