`
unbounder
  • 浏览: 171759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的一些小问题1

    博客分类:
  • java
阅读更多
http://zangxt.iteye.com/blog/435711

1
public class SimpleQuestion {

    static boolean yesOrNo(String s) {
        s = s.toLowerCase();
        if (s.equals("yes") || s.equals("y") || s.equals("t")) {
            s = "true";
        }
        return Boolean.getBoolean(s);
    }

    public static void main(String[] args) {
        System.out.println(yesOrNo("true") + " " + yesOrNo("Yes"));
    }
}

输出是什么?

转载者评论:这个纯粹是用过就知道,不用过很难猜到

2
package test;

import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;

public class InstrumentedHashSet<E> extends HashSet<E> {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private int addCount = 0;

    @Override
    public boolean add(E e) {
        addCount++;
        return super.add(e);
    }

    @Override
    public boolean addAll(Collection<? extends E> c) {
        addCount += c.size();
        return super.addAll(c);
    }

    public static void main(String[] args) {
        InstrumentedHashSet<String> s = new InstrumentedHashSet<String>();
        s.addAll(Arrays.asList("Accordion", "Banjo", "Kazoo"));
        System.out.println(s.addCount);
    }
}

输出是什么?

转载者评论:理解了覆盖方法后剩下的就是要细心了,相较而言,这题比上面那道题简单,毕竟考的都是常见的东西。

3
public abstract class AbstractIterator<T> implements Iterator<T> {

    T next = nextElement();

    public boolean hasNext() {
        return next != null;
    }

    public T next() {
        if (next == null) {
            throw new NoSuchElementException();
        }
        T result = next;
        next = nextElement();
        return result;
    }

    public void remove() {
        throw new UnsupportedOperationException();
    }

    protected abstract T nextElement();

    private static Iterator<Character> test(final String s) {
        return new AbstractIterator<Character>() {

            private int cursor = 0;

            protected Character nextElement() {
                return cursor == s.length() ? null : s.charAt(cursor++);
            }
        };
    }

    public static void main(String[] args) {
        for (Iterator<Character> i = test("OPS"); i.hasNext();) {
            System.out.print(i.next());
        }
    }
}


输出的结果是什么?

转载者评论:开始想当然以为输出的就是ops,知道错了一想,应该是初始化的顺序问题,最开始初始化的时候先执行了T next = nextElement()这个方法,到之后了next=o,cursor=1,但是随后到了cursor =0这步,功亏一篑,cursor归零了。后来循环时,就多输出了一个o。

4
public class Searching {
    public static void main(String[] args) {
        String[] strings = { "0", "1", "2", "3", "4", "5" };
        List<Integer> integers = new ArrayList<Integer>();
        for (String s : strings) {
            integers.add(Integer.valueOf(s));
        }
        System.out.println(Collections.binarySearch(integers, 1, cmp));
    }

    static Comparator<Integer> cmp = new Comparator<Integer>() {
        public int compare(Integer i, Integer j) {
            return i < j ? -1 : (i == j ? 0 : 1);
        }
    };
}

打印结果是什么?

转载者评论:这个想了很久,按理来说正确输出应该是2,但是实际输出时-2。后来才知道是i==j这里有问题,做了一些测试,integer不要用==来做比较,特别是建立新对象的时候。
分享到:
评论

相关推荐

    java小程序百钱买百鸡问题

    java中常用的一些小程序百钱买百鸡,java小程序

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA小技巧

    java中常见的面试问题,代码中常见的错误,以及java的一些设计模式的讲述,等等、、

    java小结 通过学习java和操作过程总结的一些关键知识点

    通过学习java和操作中遇到的关键问题的小结,希望对你有帮助~~

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    Java俄罗斯方块小游戏工程项目源码

    使用Java语言开发的一个仿经典小游戏俄罗斯方块,是自己练习Java时写的,经过多次修改,可能还存在一些小问题。现在共享给大家,以供想要学习Java串口应用开发的朋友参考。若发现代码有错误之处,还望能够提出改正,...

    Java词典 Java Dictionary

    很简单的实现,当然也很小。 我用的是redhat linux AS4 的系统,有时候想查个词,没有找到什么好用的词典,用wine启动了一个后来也出错了,唉,索性自己写一个。 帖上来,给有相同想法的人,也给swing初学...

    Java开发技术大全(500个源代码).

    localVSmember.java 局部变量与成员变量同名问题示例 onlyTest.java 对象传值示例 otherClass.java 从类的外部访问对象的成员 showInstVar.java 演示不同的对象拥有不同的成员变量 showMain.java 演示main方法...

    java面试题目与技巧1

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    面试 java 必须会的基础小程序 背过!

    这些小程序,都是一些基础的程序,有200个。java面试文的都是些基础问题。打好地基。才能盖高楼!

    java遇到微信小程序 “支付验证签名失败” 问题解决

    最近在做一个微信小程序项目做到微信支付的时候遇到的一些问题! 详细步骤: 开发前准备(必须)  小程序标识(appid):wx4d4838ebec29b8**  商户号(mch_id):15508070**  商户密钥(key) :wHtQckdfiRBVF7...

    (超赞)JAVA精华之--深入JAVA API

    1 JAVA SE 1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date 1.1.2.1.2 日历类Calendar 1.1.2.1.3 随机数类Random 1.1.2.1.4 向量类Vector 1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable ...

    java问题集锦初学者常涉的小问题

    这是一个关于java初学者需要懂得的一些问题,

    Java趣味编程50例

    上有个帖子出了一些小的Java编程题,就拿来练练手了。 PS:由于刚学Java没多久,很多程序的思想都是C的那一套,只不过换成Java语言而已, Java的很多API都没正式深入去看,所以有些问题直接用API就行的东西,我...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    Java基础知识点总结.docx

    Java数组与集合小结 305 递归 309 对象的序列化 310 Java两种线程类:Thread和Runnable 315 Java锁小结 321 java.util.concurrent.locks包下常用的类 326 NIO(New IO) 327 volatile详解 337 Java 8新特性 347 Java...

    win7系统下java相差8小时解决(经典小问题)

    虽然用updater没有成功,但通过他的使用说明还是发现了一些东东。在/jdk1.5.0_04/jre/lib目录下有个tzmappings文件。 用记事本打开,里面记录了所有地区的时区,格式为“China Standard Time:-1,75::Asia/Shanghai:...

    Java 面试中的陷阱

    Java 面试中一些常用问题的小总结.希望可以帮到大家。。

    C# to Java 代码转换工具

    (小提示:如无法运行,请确认是否安装了.NET framework) 下面是一些英文介绍: C# to Java Converter features include: 1. Folder conversion: Entire folders of C# code files are converted to Java code files....

    JAVA解惑.pdf

    JAVA解惑。一本很有意思的书,关于一些java编程中的小问题。

Global site tag (gtag.js) - Google Analytics