Как бы получить этот отладочный вызов, чтобы распечатать фактические значения объекта? - PullRequest
0 голосов
/ 28 февраля 2020

Я понимаю, что Arrays.sort() имеет возвращаемый тип void, и что toArray() имеет возвращаемый тип - это объект, поэтому я сделал переопределение, передав объект, который хотел увидеть.

Как я могу увидеть содержимое моего объекта Time?

Извините, если это дубликат.

/**
 * Definition of Interval:
 * public classs Interval {
 *     int start, end;
 *     Interval(int start, int end) {
 *         this.start = start;
 *         this.end = end;
 *     }
 * }
 */

public class Solution {
    /**
     * @param intervals: an array of meeting time intervals
     * @return: the minimum number of conference rooms required
     */
    public int minMeetingRooms(List<Interval> intervals) {
        // Write your code here
        if (intervals == null || intervals.size() == 0) {
            return  0;
        }

        Arrays.sort(intervals.toArray(new Interval[intervals.size()]), new StartComparator());
        int num = 1;
        for(int i = 0; i < intervals.size() - 1 ; i++) {
            System.out.print(intervals.get(i).toString());
            if(intervals.get(i).end >= intervals.get(i + 1).end) {
                num++;
            }
        }
        return num;
    }

    private class StartComparator implements Comparator<Interval> {
            @Override
            public int compare(Interval a, Interval b) {
                return a.start - b.start;
            }
        }
}

1 Ответ

1 голос
/ 28 февраля 2020

Если вы ссылаетесь на свой пользовательский класс с именем Interval, вы можете просто переопределить его toString() метод для вывода отладочной информации, например, переменных вашего экземпляра start / end:

public String toString() {
    return "Start : " + start + "  -- End : " + end;
}
...