Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Можно использовать модуль, названный win32clipboard, который является частью pywin32.
Вот пример, что первые наборы данные буфера обмена тогда получают его:
import win32clipboard
# set clipboard data
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText('testing 123')
win32clipboard.CloseClipboard()
# get clipboard data
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print data
важное напоминание из документации:
, Когда окно закончит исследовать или изменять буфер обмена, закройте буфер обмена путем вызова CloseClipboard. Это позволяет другим окнам получить доступ к буферу обмена. Не помещайте объект в буфер обмена после вызова CloseClipboard.
Попробуйте win32clipboard от win32all пакета (это, вероятно, установлено, если Вы находитесь на ActiveState Python).
Посмотрите образец здесь: http://code.activestate.com/recipes/474121/