Compare commits
17 Commits
c7b534b1d1
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b86190b186 | ||
|
|
87d7f57e25 | ||
| 27c32cf193 | |||
| c6a069facb | |||
|
|
85d51d6056 | ||
|
|
09a82863c4 | ||
|
|
7c568f2e90 | ||
| eed72f2034 | |||
| db2d710788 | |||
| ffaf3279b8 | |||
| 6670af736f | |||
| 74050c93b5 | |||
| 17e4bc97f2 | |||
|
|
6e2c77ab31 | ||
|
|
53a5fea3da | ||
|
|
8ed6cb5310 | ||
|
|
baa3ff518a |
16
.idea/checkstyle-idea.xml
generated
Normal file
16
.idea/checkstyle-idea.xml
generated
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CheckStyle-IDEA">
|
||||||
|
<option name="configuration">
|
||||||
|
<map>
|
||||||
|
<entry key="checkstyle-version" value="8.22" />
|
||||||
|
<entry key="copy-libs" value="true" />
|
||||||
|
<entry key="location-0" value="BUNDLED:(bundled):Sun Checks" />
|
||||||
|
<entry key="location-1" value="BUNDLED:(bundled):Google Checks" />
|
||||||
|
<entry key="scan-before-checkin" value="false" />
|
||||||
|
<entry key="scanscope" value="JavaOnly" />
|
||||||
|
<entry key="suppress-errors" value="false" />
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
466
.idea/dbnavigator.xml
generated
Normal file
466
.idea/dbnavigator.xml
generated
Normal file
@@ -0,0 +1,466 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DBNavigator.Project.DataEditorManager">
|
||||||
|
<record-view-column-sorting-type value="BY_INDEX" />
|
||||||
|
<value-preview-text-wrapping value="true" />
|
||||||
|
<value-preview-pinned value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DataExportManager">
|
||||||
|
<export-instructions>
|
||||||
|
<create-header value="true" />
|
||||||
|
<quote-values-containing-separator value="true" />
|
||||||
|
<quote-all-values value="false" />
|
||||||
|
<value-separator value="" />
|
||||||
|
<file-name value="" />
|
||||||
|
<file-location value="" />
|
||||||
|
<scope value="GLOBAL" />
|
||||||
|
<destination value="FILE" />
|
||||||
|
<format value="EXCEL" />
|
||||||
|
<charset value="windows-1252" />
|
||||||
|
</export-instructions>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||||
|
<autoscroll-to-editor value="false" />
|
||||||
|
<autoscroll-from-editor value="true" />
|
||||||
|
<show-object-properties value="true" />
|
||||||
|
<loaded-nodes />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||||
|
<open-files />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.EditorStateManager">
|
||||||
|
<last-used-providers />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||||
|
<method-browser />
|
||||||
|
<execution-history>
|
||||||
|
<group-entries value="true" />
|
||||||
|
<execution-inputs />
|
||||||
|
</execution-history>
|
||||||
|
<argument-values-cache />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||||
|
<last-used-dependency-type value="INCOMING" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||||
|
<last-used-operator value="EQUAL" />
|
||||||
|
<filters />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||||
|
<recently-used-interfaces />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.Settings">
|
||||||
|
<connections />
|
||||||
|
<browser-settings>
|
||||||
|
<general>
|
||||||
|
<display-mode value="TABBED" />
|
||||||
|
<navigation-history-size value="100" />
|
||||||
|
<show-object-details value="false" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<object-type-filter>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="true" />
|
||||||
|
<object-type name="ROLE" enabled="true" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="true" />
|
||||||
|
<object-type name="CHARSET" enabled="true" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED_TABLE" enabled="true" />
|
||||||
|
<object-type name="COLUMN" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="true" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||||
|
<object-type name="ARGUMENT" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="true" />
|
||||||
|
<object-type name="CLUSTER" enabled="true" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</object-type-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting>
|
||||||
|
<object-type name="COLUMN" sorting-type="NAME" />
|
||||||
|
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||||
|
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||||
|
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||||
|
</sorting>
|
||||||
|
<default-editors>
|
||||||
|
<object-type name="VIEW" editor-type="SELECTION" />
|
||||||
|
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||||
|
<object-type name="TYPE" editor-type="SELECTION" />
|
||||||
|
</default-editors>
|
||||||
|
</browser-settings>
|
||||||
|
<navigation-settings>
|
||||||
|
<lookup-filters>
|
||||||
|
<lookup-objects>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="false" />
|
||||||
|
<object-type name="ROLE" enabled="false" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="false" />
|
||||||
|
<object-type name="CHARSET" enabled="false" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED TABLE" enabled="false" />
|
||||||
|
<object-type name="COLUMN" enabled="false" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="false" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE ATTRIBUTE" enabled="false" />
|
||||||
|
<object-type name="ARGUMENT" enabled="false" />
|
||||||
|
<object-type name="DIMENSION" enabled="false" />
|
||||||
|
<object-type name="CLUSTER" enabled="false" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</lookup-objects>
|
||||||
|
<force-database-load value="false" />
|
||||||
|
<prompt-connection-selection value="true" />
|
||||||
|
<prompt-schema-selection value="true" />
|
||||||
|
</lookup-filters>
|
||||||
|
</navigation-settings>
|
||||||
|
<dataset-grid-settings>
|
||||||
|
<general>
|
||||||
|
<enable-zooming value="true" />
|
||||||
|
<enable-column-tooltip value="true" />
|
||||||
|
</general>
|
||||||
|
<sorting>
|
||||||
|
<nulls-first value="true" />
|
||||||
|
<max-sorting-columns value="4" />
|
||||||
|
</sorting>
|
||||||
|
<tracking-columns>
|
||||||
|
<columnNames value="" />
|
||||||
|
<visible value="true" />
|
||||||
|
<editable value="false" />
|
||||||
|
</tracking-columns>
|
||||||
|
</dataset-grid-settings>
|
||||||
|
<dataset-editor-settings>
|
||||||
|
<text-editor-popup>
|
||||||
|
<active value="false" />
|
||||||
|
<active-if-empty value="false" />
|
||||||
|
<data-length-threshold value="100" />
|
||||||
|
<popup-delay value="1000" />
|
||||||
|
</text-editor-popup>
|
||||||
|
<values-actions-popup>
|
||||||
|
<show-popup-button value="true" />
|
||||||
|
<element-count-threshold value="1000" />
|
||||||
|
<data-length-threshold value="250" />
|
||||||
|
</values-actions-popup>
|
||||||
|
<general>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<fetch-timeout value="30" />
|
||||||
|
<trim-whitespaces value="true" />
|
||||||
|
<convert-empty-strings-to-null value="true" />
|
||||||
|
<select-content-on-cell-edit value="true" />
|
||||||
|
<large-value-preview-active value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<prompt-filter-dialog value="true" />
|
||||||
|
<default-filter-type value="BASIC" />
|
||||||
|
</filters>
|
||||||
|
<qualified-text-editor text-length-threshold="300">
|
||||||
|
<content-types>
|
||||||
|
<content-type name="Text" enabled="true" />
|
||||||
|
<content-type name="Properties" enabled="true" />
|
||||||
|
<content-type name="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="CSS" enabled="true" />
|
||||||
|
<content-type name="Java" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JavaScript" enabled="true" />
|
||||||
|
<content-type name="JSP" enabled="true" />
|
||||||
|
<content-type name="JSPx" enabled="true" />
|
||||||
|
<content-type name="Groovy" enabled="true" />
|
||||||
|
<content-type name="FTL" enabled="true" />
|
||||||
|
<content-type name="TML" enabled="true" />
|
||||||
|
<content-type name="GSP" enabled="true" />
|
||||||
|
<content-type name="ASP" enabled="true" />
|
||||||
|
<content-type name="VTL" enabled="true" />
|
||||||
|
<content-type name="AIDL" enabled="true" />
|
||||||
|
<content-type name="YAML" enabled="true" />
|
||||||
|
<content-type name="Flex" enabled="true" />
|
||||||
|
<content-type name="Manifest" enabled="true" />
|
||||||
|
</content-types>
|
||||||
|
</qualified-text-editor>
|
||||||
|
<record-navigation>
|
||||||
|
<navigation-target value="VIEWER" />
|
||||||
|
</record-navigation>
|
||||||
|
</dataset-editor-settings>
|
||||||
|
<code-editor-settings>
|
||||||
|
<general>
|
||||||
|
<show-object-navigation-gutter value="false" />
|
||||||
|
<show-spec-declaration-navigation-gutter value="true" />
|
||||||
|
<enable-spellchecking value="true" />
|
||||||
|
<enable-reference-spellchecking value="false" />
|
||||||
|
</general>
|
||||||
|
<confirmations>
|
||||||
|
<save-changes value="false" />
|
||||||
|
<revert-changes value="true" />
|
||||||
|
</confirmations>
|
||||||
|
</code-editor-settings>
|
||||||
|
<code-completion-settings>
|
||||||
|
<filters>
|
||||||
|
<basic-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</basic-filter>
|
||||||
|
<extended-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</extended-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting enabled="true">
|
||||||
|
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||||
|
<sorting-element type="OBJECT" id="column" />
|
||||||
|
<sorting-element type="OBJECT" id="table" />
|
||||||
|
<sorting-element type="OBJECT" id="view" />
|
||||||
|
<sorting-element type="OBJECT" id="materialized view" />
|
||||||
|
<sorting-element type="OBJECT" id="index" />
|
||||||
|
<sorting-element type="OBJECT" id="constraint" />
|
||||||
|
<sorting-element type="OBJECT" id="trigger" />
|
||||||
|
<sorting-element type="OBJECT" id="synonym" />
|
||||||
|
<sorting-element type="OBJECT" id="sequence" />
|
||||||
|
<sorting-element type="OBJECT" id="procedure" />
|
||||||
|
<sorting-element type="OBJECT" id="function" />
|
||||||
|
<sorting-element type="OBJECT" id="package" />
|
||||||
|
<sorting-element type="OBJECT" id="type" />
|
||||||
|
<sorting-element type="OBJECT" id="dimension" />
|
||||||
|
<sorting-element type="OBJECT" id="cluster" />
|
||||||
|
<sorting-element type="OBJECT" id="dblink" />
|
||||||
|
<sorting-element type="OBJECT" id="schema" />
|
||||||
|
<sorting-element type="OBJECT" id="role" />
|
||||||
|
<sorting-element type="OBJECT" id="user" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="function" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||||
|
</sorting>
|
||||||
|
<format>
|
||||||
|
<enforce-code-style-case value="true" />
|
||||||
|
</format>
|
||||||
|
</code-completion-settings>
|
||||||
|
<execution-engine-settings>
|
||||||
|
<statement-execution>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<execution-timeout value="20" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<focus-result value="false" />
|
||||||
|
<prompt-execution value="false" />
|
||||||
|
</statement-execution>
|
||||||
|
<script-execution>
|
||||||
|
<command-line-interfaces />
|
||||||
|
<execution-timeout value="300" />
|
||||||
|
</script-execution>
|
||||||
|
<method-execution>
|
||||||
|
<execution-timeout value="30" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<parameter-history-size value="10" />
|
||||||
|
</method-execution>
|
||||||
|
</execution-engine-settings>
|
||||||
|
<operation-settings>
|
||||||
|
<transactions>
|
||||||
|
<uncommitted-changes>
|
||||||
|
<on-project-close value="ASK" />
|
||||||
|
<on-disconnect value="ASK" />
|
||||||
|
<on-autocommit-toggle value="ASK" />
|
||||||
|
</uncommitted-changes>
|
||||||
|
<multiple-uncommitted-changes>
|
||||||
|
<on-commit value="ASK" />
|
||||||
|
<on-rollback value="ASK" />
|
||||||
|
</multiple-uncommitted-changes>
|
||||||
|
</transactions>
|
||||||
|
<session-browser>
|
||||||
|
<disconnect-session value="ASK" />
|
||||||
|
<kill-session value="ASK" />
|
||||||
|
<reload-on-filter-change value="false" />
|
||||||
|
</session-browser>
|
||||||
|
<compiler>
|
||||||
|
<compile-type value="KEEP" />
|
||||||
|
<compile-dependencies value="ASK" />
|
||||||
|
<always-show-controls value="false" />
|
||||||
|
</compiler>
|
||||||
|
<debugger>
|
||||||
|
<debugger-type value="ASK" />
|
||||||
|
<use-generic-runners value="true" />
|
||||||
|
</debugger>
|
||||||
|
</operation-settings>
|
||||||
|
<ddl-file-settings>
|
||||||
|
<extensions>
|
||||||
|
<mapping file-type-id="VIEW" extensions="vw" />
|
||||||
|
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||||
|
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||||
|
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||||
|
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||||
|
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||||
|
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||||
|
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||||
|
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||||
|
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||||
|
</extensions>
|
||||||
|
<general>
|
||||||
|
<lookup-ddl-files value="true" />
|
||||||
|
<create-ddl-files value="false" />
|
||||||
|
<synchronize-ddl-files value="true" />
|
||||||
|
<use-qualified-names value="false" />
|
||||||
|
<make-scripts-rerunnable value="true" />
|
||||||
|
</general>
|
||||||
|
</ddl-file-settings>
|
||||||
|
<general-settings>
|
||||||
|
<regional-settings>
|
||||||
|
<date-format value="MEDIUM" />
|
||||||
|
<number-format value="UNGROUPED" />
|
||||||
|
<locale value="SYSTEM_DEFAULT" />
|
||||||
|
<use-custom-formats value="false" />
|
||||||
|
</regional-settings>
|
||||||
|
<environment>
|
||||||
|
<environment-types>
|
||||||
|
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||||
|
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||||
|
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||||
|
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||||
|
</environment-types>
|
||||||
|
<visibility-settings>
|
||||||
|
<connection-tabs value="true" />
|
||||||
|
<dialog-headers value="true" />
|
||||||
|
<object-editor-tabs value="true" />
|
||||||
|
<script-editor-tabs value="false" />
|
||||||
|
<execution-result-tabs value="true" />
|
||||||
|
</visibility-settings>
|
||||||
|
</environment>
|
||||||
|
</general-settings>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||||
|
<execution-variables />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
57
src/org/eidecker/mapreduce/DistanceCounter.java
Normal file
57
src/org/eidecker/mapreduce/DistanceCounter.java
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
package org.eidecker.mapreduce;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class DistanceCounter {
|
||||||
|
|
||||||
|
private static Integer komplizierteBerechnungMitRestCall(Integer strecke, Integer strecke2) {
|
||||||
|
return strecke2 - strecke;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDistanceSum() {
|
||||||
|
assertEquals(55, distanceSum(orte()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Integer distanceSum(List<Stopp> orte) {
|
||||||
|
Optional<Integer> distanceSum = orte.stream()
|
||||||
|
.map(Stopp::getWichtigeDingeZurBerechnung)
|
||||||
|
.reduce(DistanceCounter::komplizierteBerechnungMitRestCall);
|
||||||
|
|
||||||
|
return distanceSum.orElse(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private List<Stopp> orte() {
|
||||||
|
return IntStream.rangeClosed(1,10).boxed().map(Stopp::new).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
// private BinaryOperator<Ort> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
|
||||||
|
//
|
||||||
|
// private BiFunction<Ort, Ort, Integer> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
|
||||||
|
|
||||||
|
class Stopp {
|
||||||
|
Integer wert;
|
||||||
|
|
||||||
|
public Stopp(Integer wert) {
|
||||||
|
this.wert = wert;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getWichtigeDingeZurBerechnung() {
|
||||||
|
return wert;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,6 +2,12 @@ package org.eidecker.oca8lernen.chapter01;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author seidecke.
|
* @author seidecke.
|
||||||
*/
|
*/
|
||||||
@@ -21,9 +27,14 @@ class TestClass {
|
|||||||
for (B item : B.values()) {
|
for (B item : B.values()) {
|
||||||
System.out.println(item);
|
System.out.println(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int i = 1;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private enum Two {
|
private enum Two {
|
||||||
|
|
||||||
EINS, ZWEI;
|
EINS, ZWEI;
|
||||||
|
|||||||
35
src/org/eidecker/oca8lernen/general/ArrayFun.java
Normal file
35
src/org/eidecker/oca8lernen/general/ArrayFun.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class ArrayFun {
|
||||||
|
|
||||||
|
char index;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testArrayInit() {
|
||||||
|
String[] strings = {"Hallo", "Welt"};
|
||||||
|
assertEquals(0, index);
|
||||||
|
assertEquals("Hallo", strings[index]);
|
||||||
|
|
||||||
|
assertEquals("Hallo", strings[(byte) 1]);
|
||||||
|
assertEquals("Hallo", strings[(short) 1]);
|
||||||
|
assertEquals("Hallo", strings[(char) 1]);
|
||||||
|
|
||||||
|
// assertEquals("Hallo", strings[(float) 1]); // Compilerfehler, muss Ganzzahl sein
|
||||||
|
// assertEquals("Hallo", strings[(long) 1]); // Compilerfehler, muss int oder kleiner sein
|
||||||
|
|
||||||
|
// Arrayklammern vor und nach Variablenname erlaubt
|
||||||
|
String [] twodim [];
|
||||||
|
|
||||||
|
String[][] twoDimStrings = {strings};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
77
src/org/eidecker/oca8lernen/general/CastExceptions.java
Normal file
77
src/org/eidecker/oca8lernen/general/CastExceptions.java
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.AccessDeniedException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.zip.DataFormatException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class CastExceptions {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCastExceptions() {
|
||||||
|
|
||||||
|
OberCast eigentlichUnter = new UnterCast();
|
||||||
|
OberCast wirklichOber = new OberCast();
|
||||||
|
UnterCast purUnter = new UnterCast();
|
||||||
|
|
||||||
|
Außerhalb außerhalb = new Außerhalb();
|
||||||
|
|
||||||
|
OberCast ober = purUnter;
|
||||||
|
|
||||||
|
UnterCast unter = (UnterCast) eigentlichUnter;
|
||||||
|
|
||||||
|
// Runtime-Exception, da innerhalb der Typenhierarchie
|
||||||
|
assertThrows(ClassCastException.class, () -> {
|
||||||
|
UnterCast unter3 = (UnterCast) wirklichOber;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Compilefehler, da Versuch des Casts außerhalb der Typenhierarchie
|
||||||
|
// UnterCast unter2 = (UnterCast) außerhalb;
|
||||||
|
|
||||||
|
try {
|
||||||
|
UnterCast unterCast = new UnterCast();
|
||||||
|
unter.method();
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class OberCast {
|
||||||
|
|
||||||
|
public void method() throws IOException{
|
||||||
|
Integer i;
|
||||||
|
|
||||||
|
long l2 = (int)12;
|
||||||
|
|
||||||
|
int i2 = 2;
|
||||||
|
|
||||||
|
i = (int)i2;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class UnterCast extends OberCast {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void method() {
|
||||||
|
System.out.println("method in Untercast");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Außerhalb {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyCheckedException extends Exception {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class ConditionalInitialisation {
|
||||||
|
|
||||||
|
final String s2;
|
||||||
|
final String s3;
|
||||||
|
// final String s4;
|
||||||
|
|
||||||
|
public ConditionalInitialisation() {
|
||||||
|
boolean b = true;
|
||||||
|
if (b) {
|
||||||
|
s2 = "Hallo";
|
||||||
|
} else {
|
||||||
|
s2 = "Welt";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keine doppelte Zuweisung, da Compiler auflösen kann
|
||||||
|
if (true) s3= "Hallo";
|
||||||
|
if (false) s3 = "Welt";
|
||||||
|
|
||||||
|
String s6;
|
||||||
|
final boolean c = false;
|
||||||
|
if (c) s6 = "Hallo";
|
||||||
|
if (!c) s6 = "Welt";
|
||||||
|
System.out.println(s6);
|
||||||
|
|
||||||
|
// Geht nicht, damit sowohl Verletzung final-Zuweisung als auch Nicht-Initialisierung
|
||||||
|
// if (b) s4 = "Hallo";
|
||||||
|
// if (!b) s4 = "Welt";
|
||||||
|
|
||||||
|
try {
|
||||||
|
// s4 = fillMe();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// s4 = fillMeSilently();
|
||||||
|
}
|
||||||
|
|
||||||
|
String s5;
|
||||||
|
try {
|
||||||
|
s5 = fillMe();
|
||||||
|
} catch (Exception e) {
|
||||||
|
s5 = fillMeSilently();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private String fillMe() throws Exception {
|
||||||
|
return "Hallo";
|
||||||
|
}
|
||||||
|
|
||||||
|
private String fillMeSilently() throws RuntimeException {
|
||||||
|
return "Welt";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testConditionalInitialisation() {
|
||||||
|
|
||||||
|
boolean b = true;
|
||||||
|
|
||||||
|
final String s;
|
||||||
|
if (b) {
|
||||||
|
s = "Hallo";
|
||||||
|
} else {
|
||||||
|
s = "Welt";
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(s);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
135
src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java
Normal file
135
src/org/eidecker/oca8lernen/general/DoubleImplementsClash.java
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.AccessDeniedException;
|
||||||
|
import java.util.zip.DataFormatException;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class DoubleImplementsClash {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomeTHings() {
|
||||||
|
InterfaceImplementer implementer = new InterfaceImplementer();
|
||||||
|
// implementer.bothStatic() // Nicht vorhanden, nur im Interface
|
||||||
|
implementer.bothDefault();
|
||||||
|
implementer.singleDefault();
|
||||||
|
implementer.abstractClassAndInterfaceDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class InterfaceImplementer extends AbstractClass implements SuperInterface1, SuperInterface2{
|
||||||
|
|
||||||
|
|
||||||
|
public void methode (int ...name ) {
|
||||||
|
// methode2(1,3,4); // Geht nicht, muss Array sein
|
||||||
|
methode2(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void methode2 (int[] name) {
|
||||||
|
methode(1, 2, 3);
|
||||||
|
int [] ints = {1,2,3};
|
||||||
|
methode(ints);
|
||||||
|
|
||||||
|
System.out.println(new StringBuilder("Hallo").toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomething() {
|
||||||
|
SuperInterface1.bothStatic();
|
||||||
|
this.bothAbstract();
|
||||||
|
SuperInterface1.super.singleDefault();
|
||||||
|
this.singleDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void bothAbstract() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bothDefault() {
|
||||||
|
SuperInterface1.super.bothDefault();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void oneStaticOneAbstract() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class AnotherImplementer implements SuperInterface1 {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void bothAbstract() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void oneStaticOneAbstract() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SuperInterface1 {
|
||||||
|
static void bothStatic() {
|
||||||
|
}
|
||||||
|
|
||||||
|
default void bothDefault() {
|
||||||
|
}
|
||||||
|
|
||||||
|
default void singleDefault() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void bothAbstract();
|
||||||
|
|
||||||
|
void oneStaticOneAbstract();
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SuperInterface2 {
|
||||||
|
|
||||||
|
static void bothStatic() {
|
||||||
|
}
|
||||||
|
|
||||||
|
default void bothDefault() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void bothAbstract();
|
||||||
|
|
||||||
|
static void oneStaticOneAbstract() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
default void abstractClassAndInterfaceDefault() {
|
||||||
|
System.out.println("SuperInterface2 abstractClassAndInterfaceDefault");
|
||||||
|
"Halli".length();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractClass {
|
||||||
|
|
||||||
|
|
||||||
|
public void abstractClassAndInterfaceDefault() {
|
||||||
|
System.out.println("AbstractClass abstractClassAndInterfaceDefault");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void throwsException() throws IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class ErbendeKlasse extends AbstractClass {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void throwsException() throws AccessDeniedException {
|
||||||
|
new ErbendeKlasse();
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/org/eidecker/oca8lernen/general/Final.java
Normal file
39
src/org/eidecker/oca8lernen/general/Final.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Final deklarierte Felder müssen im Konstruktor oder einem Initialisierungsblock gesetzt werden.
|
||||||
|
* Die Standardwerte genügen nicht.
|
||||||
|
*/
|
||||||
|
public class Final {
|
||||||
|
|
||||||
|
{
|
||||||
|
String s = "s";
|
||||||
|
finalString = "Hallo";
|
||||||
|
if (false) throw new RuntimeException();
|
||||||
|
testIfBloecke();
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
String s = "s";
|
||||||
|
}
|
||||||
|
|
||||||
|
final String finalString;
|
||||||
|
|
||||||
|
|
||||||
|
public Final() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIfBloecke() {
|
||||||
|
if (true)
|
||||||
|
System.out.println("Eins");
|
||||||
|
if (false)
|
||||||
|
System.out.println("Zwei");
|
||||||
|
else
|
||||||
|
System.out.printf("Drei");
|
||||||
|
}
|
||||||
|
}
|
||||||
24
src/org/eidecker/oca8lernen/general/ForEach.java
Normal file
24
src/org/eidecker/oca8lernen/general/ForEach.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class ForEach {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLaufvariable() {
|
||||||
|
|
||||||
|
int[] ints = new int[5];
|
||||||
|
|
||||||
|
for (int i: ints)
|
||||||
|
System.out.println(i);
|
||||||
|
|
||||||
|
|
||||||
|
List<String> sList;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/org/eidecker/oca8lernen/general/FunWithArrays.java
Normal file
35
src/org/eidecker/oca8lernen/general/FunWithArrays.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FunWithArrays {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testArrays() {
|
||||||
|
|
||||||
|
int[] ints = new int[] {1, 3, 4, 6, 7};
|
||||||
|
|
||||||
|
List[] lists = {new ArrayList(), new ArrayList()};
|
||||||
|
|
||||||
|
ArrayList[] arrayLists = {new ArrayList(), new ArrayList()};
|
||||||
|
|
||||||
|
int [] one = {1,2,4};
|
||||||
|
int [][] tow = {one};
|
||||||
|
|
||||||
|
int[][][][] strings = new int[3][3][][];
|
||||||
|
strings[1][2] = new int[][]{{1},{2}};
|
||||||
|
|
||||||
|
System.out.println(strings[1][2].getClass().getName());
|
||||||
|
|
||||||
|
// lists = arrayLists;
|
||||||
|
|
||||||
|
// arrayLists = (ArrayList[]) lists;
|
||||||
|
|
||||||
|
arrayLists[0].size();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,58 @@
|
|||||||
package org.eidecker.oca8lernen.general;
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author seidecke.
|
* @author seidecke.
|
||||||
*/
|
*/
|
||||||
public class HeaderList extends ArrayList {
|
public class HeaderList extends ArrayList {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Listtest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testListInterface() {
|
||||||
|
anyList().add("Hallo");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHashMapInterface() {
|
||||||
|
|
||||||
|
Map<String, List<String>> map = new HashMap<>();
|
||||||
|
List<String> l = new ArrayList<>();
|
||||||
|
l.add("1");
|
||||||
|
map.put("1", l);
|
||||||
|
map.get("1").add("2");
|
||||||
|
|
||||||
|
System.out.println(map.values());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> anyList() {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void longList() {
|
||||||
|
LinkedList linkedList = new LinkedList();
|
||||||
|
|
||||||
|
for (int i = 0; i <= Integer.MAX_VALUE; i++) {
|
||||||
|
linkedList.add(i);
|
||||||
|
if (i % 1_000_000 == 0) System.out.println(i / 1_000_000 + " Millionen, " + (((double)i / Integer.MAX_VALUE) * 100) + " Prozent");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
linkedList.add(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
84
src/org/eidecker/oca8lernen/general/InstanceOfUndCast.java
Normal file
84
src/org/eidecker/oca8lernen/general/InstanceOfUndCast.java
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
import java.lang.reflect.Array;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class InstanceOfUndCast {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInstanceof() {
|
||||||
|
// Instanceof außerhalb Typhierarchie nicht möglich
|
||||||
|
// boolean b = "Hallo" instanceof InstanceOfUndCast;
|
||||||
|
|
||||||
|
assertEquals(false, null instanceof InstanceOfUndCast);
|
||||||
|
|
||||||
|
String s;
|
||||||
|
// Nicht möglich, da nicht initialisiert
|
||||||
|
// s instanceof String;
|
||||||
|
|
||||||
|
int[] array = {1, 3, 4};
|
||||||
|
assertEquals(true, array instanceof Object);
|
||||||
|
|
||||||
|
|
||||||
|
// Nicht möglich, null kein Typ
|
||||||
|
// "Hallo" instanceof null
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPrimitiveCast() {
|
||||||
|
byte a = 4;
|
||||||
|
a = (byte) (a + 3); // Expliziter Cast erforderlich
|
||||||
|
|
||||||
|
byte b = 2;
|
||||||
|
b += 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCast() {
|
||||||
|
OberCast echterOber = new OberCast();
|
||||||
|
OberCast oberAberUnter = new UnterCast();
|
||||||
|
|
||||||
|
UnterCast echterUnterCast = new UnterCast();
|
||||||
|
|
||||||
|
|
||||||
|
String s = (String) null;
|
||||||
|
|
||||||
|
echterOber = (UnterCast) echterUnterCast;
|
||||||
|
|
||||||
|
echterOber = oberAberUnter;
|
||||||
|
|
||||||
|
echterUnterCast = (UnterCast) oberAberUnter;
|
||||||
|
|
||||||
|
assertThrows(ClassCastException.class, () -> {
|
||||||
|
UnterCast echterUnterCast2 = new UnterCast();
|
||||||
|
OberCast echterOber2 = new OberCast();
|
||||||
|
echterUnterCast2 = (UnterCast) echterOber2;
|
||||||
|
});
|
||||||
|
|
||||||
|
{int i, j;}
|
||||||
|
|
||||||
|
for (int i = 1; i< 3; i++) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class OberCast {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class UnterCast extends OberCast {
|
||||||
|
void untercast() {
|
||||||
|
System.out.printf("untercast");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AußerhalbCast {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package org.eidecker.oca8lernen.general;
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
public class InterfaceWithFields implements T1, T2 {
|
public class InterfaceWithFields implements T1, T2 {
|
||||||
@@ -18,6 +20,8 @@ public class InterfaceWithFields implements T1, T2 {
|
|||||||
interface T1 {
|
interface T1 {
|
||||||
int VALUE = 99;
|
int VALUE = 99;
|
||||||
int VALUE_T1 = 1;
|
int VALUE_T1 = 1;
|
||||||
|
|
||||||
|
default int getValue() {return VALUE;}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface T2 {
|
interface T2 {
|
||||||
@@ -31,11 +35,15 @@ interface T2 {
|
|||||||
|
|
||||||
class Tester {
|
class Tester {
|
||||||
|
|
||||||
|
@Test
|
||||||
public void interfaceTest() {
|
public void interfaceTest() {
|
||||||
InterfaceWithFields interfaceWithFields = new InterfaceWithFields();
|
InterfaceWithFields interfaceWithFields = new InterfaceWithFields();
|
||||||
assertEquals(99, ((T1)interfaceWithFields).VALUE);
|
assertEquals(99, ((T1)interfaceWithFields).VALUE);
|
||||||
assertEquals(98, ((T2)interfaceWithFields).VALUE);
|
assertEquals(98, ((T2)interfaceWithFields).VALUE);
|
||||||
|
|
||||||
|
T1 t1 = new InterfaceWithFields();
|
||||||
|
System.out.println(t1.getValue());
|
||||||
|
|
||||||
assertEquals(1, interfaceWithFields.VALUE_T1);
|
assertEquals(1, interfaceWithFields.VALUE_T1);
|
||||||
assertEquals(2, interfaceWithFields.VALUE_T2);
|
assertEquals(2, interfaceWithFields.VALUE_T2);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package org.eidecker.oca8lernen.general;
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.AccessDeniedException;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
class TestInterfaces {
|
class TestInterfaces {
|
||||||
@@ -16,7 +14,7 @@ class TestInterfaces {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Interfaces extends AbstractClass implements I1 {
|
public class Interfaces extends SomeAbstractClass implements I1 {
|
||||||
|
|
||||||
public void method1() {
|
public void method1() {
|
||||||
|
|
||||||
@@ -32,7 +30,7 @@ public class Interfaces extends AbstractClass implements I1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
abstract class AbstractClass {
|
abstract class SomeAbstractClass {
|
||||||
|
|
||||||
public abstract void method1() throws IOException;
|
public abstract void method1() throws IOException;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package org.eidecker.oca8lernen.general;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
public class KLassenInitialisierung {
|
public class KlassenInitialisierung {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInitialisierung() {
|
public void testInitialisierung() {
|
||||||
@@ -26,6 +26,8 @@ public class KLassenInitialisierung {
|
|||||||
|
|
||||||
class Oberklasse {
|
class Oberklasse {
|
||||||
|
|
||||||
|
private String s = initString();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
synchronized (Oberklasse.class) {
|
synchronized (Oberklasse.class) {
|
||||||
System.out.println("Oberklasse statischer Initialisierungsblock");
|
System.out.println("Oberklasse statischer Initialisierungsblock");
|
||||||
@@ -54,10 +56,17 @@ class Oberklasse {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String initString() {
|
||||||
|
System.out.println("OberklasseString wurde initialisiert");
|
||||||
|
return "OberklasseString";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Unterklasse extends Oberklasse {
|
class Unterklasse extends Oberklasse {
|
||||||
|
|
||||||
|
private String s = initString();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
System.out.println("Unterklasse statischer Initialisierungsblock");
|
System.out.println("Unterklasse statischer Initialisierungsblock");
|
||||||
}
|
}
|
||||||
@@ -78,4 +87,9 @@ class Unterklasse extends Oberklasse {
|
|||||||
public Unterklasse() {
|
public Unterklasse() {
|
||||||
System.out.println("Unterklasse Konstruktor");
|
System.out.println("Unterklasse Konstruktor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String initString() {
|
||||||
|
System.out.println("UnterklasseString wurde initialisiert");
|
||||||
|
return "UnterklasseString";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
23
src/org/eidecker/oca8lernen/general/Loop.java
Normal file
23
src/org/eidecker/oca8lernen/general/Loop.java
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Loop {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLoops() {
|
||||||
|
int i = 1;
|
||||||
|
|
||||||
|
/*do
|
||||||
|
System.out.println("Hallo");
|
||||||
|
while(i == 1);
|
||||||
|
*/
|
||||||
|
|
||||||
|
System.out.println("Hallo");
|
||||||
|
|
||||||
|
do
|
||||||
|
System.out.println("Hallo");
|
||||||
|
while(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,14 +1,18 @@
|
|||||||
package org.eidecker.oca8lernen.general;
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_BYTE;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_CHAR;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_CHARACTER;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_INT;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_INTEGER;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_LONG_PRIMITIVE;
|
||||||
|
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.VARIANTE_LONG_WRAPPER;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
import static org.eidecker.oca8lernen.general.PrimitiveOverloading.*;
|
|
||||||
import static org.eidecker.oca8lernen.general.Overloading.*;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
|
|
||||||
class OverloadingTester {
|
class OverloadingTester {
|
||||||
|
|
||||||
@@ -21,6 +25,9 @@ class OverloadingTester {
|
|||||||
SubOverloading subOverloading = new SubOverloading();
|
SubOverloading subOverloading = new SubOverloading();
|
||||||
System.out.println(subOverloading.staticString);
|
System.out.println(subOverloading.staticString);
|
||||||
System.out.println(subOverloading.overrideStatic());
|
System.out.println(subOverloading.overrideStatic());
|
||||||
|
|
||||||
|
List l = null;
|
||||||
|
subOverloading.overloadMe(l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,6 +202,11 @@ class PrimitiveOverloading {
|
|||||||
return VARIANTE_BYTE;
|
return VARIANTE_BYTE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String neuerVersuch(byte l) {
|
||||||
|
System.out.println("long");
|
||||||
|
return "long";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class PrimitiveOverloadingTester {
|
class PrimitiveOverloadingTester {
|
||||||
@@ -222,7 +234,30 @@ class PrimitiveOverloadingTester {
|
|||||||
// Primitiv, nicht vorhanden, auch kein Wrapper
|
// Primitiv, nicht vorhanden, auch kein Wrapper
|
||||||
assertEquals(VARIANTE_INT, primitiveOverloading.overloadMe((short) 1));
|
assertEquals(VARIANTE_INT, primitiveOverloading.overloadMe((short) 1));
|
||||||
|
|
||||||
|
primitiveOverloading.neuerVersuch((char)12);
|
||||||
|
|
||||||
|
OverloadMe2 overloadMe2 = new OverloadMe2();
|
||||||
|
// overloadMe2.one(1, 1);
|
||||||
|
|
||||||
|
overloadMe2.two(new Integer(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class OverloadMe2 {
|
||||||
|
|
||||||
|
public int one(double d, int i) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int one(int d, double i) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public int two(Long i) {
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
137
src/org/eidecker/oca8lernen/general/Primitive.java
Normal file
137
src/org/eidecker/oca8lernen/general/Primitive.java
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Primitive {
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomething() {
|
||||||
|
|
||||||
|
// Ein paar Zuweisungen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
double d = 3.9;
|
||||||
|
int i = (int) d;
|
||||||
|
|
||||||
|
System.out.println(i);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUnderscores() {
|
||||||
|
int iDec = 1_1__1;
|
||||||
|
assertEquals(111, iDec);
|
||||||
|
|
||||||
|
int iBinary = 0b10__0_0101_0000;
|
||||||
|
int iHex = 0xf2_d8;
|
||||||
|
int iOctal = 0111;
|
||||||
|
|
||||||
|
int iOctal2 = new Integer(011);
|
||||||
|
int iOctal3 = new Integer("011"); // Das wird wohl doch dezimal behandelt
|
||||||
|
int iOctal4 = new Integer("0b11");
|
||||||
|
assertFalse(iOctal2 == iOctal3);
|
||||||
|
|
||||||
|
assertFalse(new Integer("1").equals((long)1));
|
||||||
|
assertFalse(new Long(1).equals(1));
|
||||||
|
|
||||||
|
|
||||||
|
assertNotEquals(111, iOctal);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testZuweisungLiterale() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testImplicitCast() {
|
||||||
|
float f3;
|
||||||
|
float f = 1.0f;
|
||||||
|
float f2 = 1L;
|
||||||
|
|
||||||
|
f3 = f + f2;
|
||||||
|
|
||||||
|
byte b1 = (byte)1f;
|
||||||
|
|
||||||
|
char c1 = (char) -1;
|
||||||
|
System.out.println("c1: " + c1);
|
||||||
|
|
||||||
|
short s1 = Short.MAX_VALUE;
|
||||||
|
short s2 = (short) (s1 + 1);
|
||||||
|
System.out.println(s2);
|
||||||
|
|
||||||
|
short s3 = (short)189898989898989898l;
|
||||||
|
System.out.println("s3: " + s3);
|
||||||
|
|
||||||
|
long l1 = Long.MAX_VALUE;
|
||||||
|
System.out.println("L1: " + (l1 + 12));
|
||||||
|
|
||||||
|
char c = 1, d = 3;
|
||||||
|
System.out.println(c + d);
|
||||||
|
|
||||||
|
int i5 = 1212;
|
||||||
|
long l4;
|
||||||
|
l4 = i5;
|
||||||
|
|
||||||
|
char c5;
|
||||||
|
byte b9 = 2;
|
||||||
|
|
||||||
|
byte b2 = 'a';
|
||||||
|
|
||||||
|
float f9 = Long.MAX_VALUE;
|
||||||
|
System.out.println("f9: " + f9);
|
||||||
|
|
||||||
|
char c10 = (char)123.333d;
|
||||||
|
System.out.println("c10: " + c10);
|
||||||
|
|
||||||
|
Integer I1 = 0b0101;
|
||||||
|
// Float F1 = (int)12; Float, Double können keine Ganzzahl-Literale zugewiesen werden
|
||||||
|
Double D1 = (double)12;
|
||||||
|
|
||||||
|
// Float F12 = 11;
|
||||||
|
Float F11 = new Float(11L);
|
||||||
|
System.out.println("F11" + F11);
|
||||||
|
|
||||||
|
float f4 = 4.0f;
|
||||||
|
long l6 = 4L;
|
||||||
|
System.out.println("2323: " + (f4 == l6));
|
||||||
|
|
||||||
|
Short short1 = 127;
|
||||||
|
Short short2 = 127;
|
||||||
|
Short short3 = 128;
|
||||||
|
Short short4 = 128;
|
||||||
|
|
||||||
|
assertTrue(short1 == short2);
|
||||||
|
assertFalse(short3 == short4);
|
||||||
|
|
||||||
|
|
||||||
|
Short short5 = new Short((short)127);
|
||||||
|
Short short6 = new Short((short)127);
|
||||||
|
assertFalse(short5 == short6);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testExplicitCast() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class AndereKlasse {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Geht auch aus nicht public-Klasse");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,16 +12,38 @@ public class PrimitiveUndWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
public void zuweisungWertebereich() {
|
public void zuweisungWertebereich() {
|
||||||
|
|
||||||
char c = (char) 1L;
|
byte e, f = 2, g = 4;
|
||||||
|
|
||||||
|
|
||||||
|
// Compilefehler, da + implizit int erzeugt
|
||||||
|
// e = f + g;
|
||||||
|
|
||||||
|
char r, s = 3, t = 4;
|
||||||
|
// Compilefehler, da + implizit int erzeugt
|
||||||
|
// r = s + t;
|
||||||
|
|
||||||
|
|
||||||
|
float f1, f2 = 0, f3 = 3;
|
||||||
|
f1 = f2 + f3;
|
||||||
|
|
||||||
|
char c = (char) -1L;
|
||||||
|
|
||||||
|
|
||||||
short sh = Short.MAX_VALUE;
|
short sh = Short.MAX_VALUE;
|
||||||
// char s = sh;
|
// char ch = (byte)sh;
|
||||||
|
|
||||||
"Hallo".concat(" Welt");
|
"Hallo".concat(" Welt");
|
||||||
|
|
||||||
// System.out.println(s);
|
// System.out.println(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void literalUnderscore() {
|
||||||
|
// int i = 1_1_;
|
||||||
|
|
||||||
|
double d = 1_1.1_1;
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void wrapperEquals() {
|
public void wrapperEquals() {
|
||||||
|
|
||||||
|
|||||||
35
src/org/eidecker/oca8lernen/general/Spielen.java
Normal file
35
src/org/eidecker/oca8lernen/general/Spielen.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Spielen {
|
||||||
|
|
||||||
|
public Spielen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Spielen(int n) {
|
||||||
|
this();
|
||||||
|
|
||||||
|
int i = new Integer("2");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void spielen() {
|
||||||
|
int i = 1;
|
||||||
|
printInt(i++ + i);
|
||||||
|
System.out.println(i);
|
||||||
|
|
||||||
|
int k = 1;
|
||||||
|
printInt(k + k++);
|
||||||
|
|
||||||
|
int j = 1;
|
||||||
|
printInt(j+= 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void printInt(int i) {
|
||||||
|
System.out.println(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
76
src/org/eidecker/oca8lernen/general/StringIndex.java
Normal file
76
src/org/eidecker/oca8lernen/general/StringIndex.java
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
package org.eidecker.oca8lernen.general;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class StringIndex {
|
||||||
|
|
||||||
|
private static String testString = "1234567890";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomeStrings() {
|
||||||
|
assertEquals('3', testString.charAt(2));
|
||||||
|
assertEquals("67890", testString.substring(5));
|
||||||
|
assertEquals("67", testString.substring(5,7));
|
||||||
|
assertEquals("", testString.substring(5,5));
|
||||||
|
assertEquals(10, testString.length());
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(-1));
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(5,4));
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> testString.substring(5,11));
|
||||||
|
|
||||||
|
String s = "123456";
|
||||||
|
assertEquals("1234567", s += "7");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomeStringBuilders() {
|
||||||
|
StringBuilder testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
|
||||||
|
assertEquals('3', testStringBuilder.charAt(2));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("67890", testStringBuilder.substring(5));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("67", testStringBuilder.substring(5,7));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("", testStringBuilder.substring(5,5));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals(10, testStringBuilder.length());
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(-1));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(5,4));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").substring(5,11));
|
||||||
|
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").delete(13,1));
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> new StringBuilder("1234567890").insert(11,"Hallo"));
|
||||||
|
|
||||||
|
// null direkt nicht moeglich, da ueberladene Methode nicht bestimmt werden kann
|
||||||
|
// testStringBuilder.insert(1, null);
|
||||||
|
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("12345890", testStringBuilder.delete(5,7).toString());
|
||||||
|
|
||||||
|
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("1234567890", testStringBuilder.delete(5,5).toString());
|
||||||
|
|
||||||
|
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("71234567890", testStringBuilder.insert(0,7).toString());
|
||||||
|
testStringBuilder = new StringBuilder("1234567890");
|
||||||
|
assertEquals("1true234567890", testStringBuilder.insert(1,true).toString());
|
||||||
|
|
||||||
|
String s = null;
|
||||||
|
assertEquals("Hallonull", new StringBuilder("Hallo").append(s).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,6 +4,14 @@ import org.junit.jupiter.api.Test;
|
|||||||
|
|
||||||
public class SwitchSyntax {
|
public class SwitchSyntax {
|
||||||
|
|
||||||
|
final int k = 0;
|
||||||
|
|
||||||
|
public SwitchSyntax() {
|
||||||
|
switch(1) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void switchSyntax() {
|
public void switchSyntax() {
|
||||||
|
|
||||||
@@ -16,13 +24,33 @@ public class SwitchSyntax {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 3:
|
case 3:
|
||||||
default:
|
default: {
|
||||||
int j;
|
int j;
|
||||||
System.out.println("default");
|
System.out.println("default");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Todo SeEi
|
// Todo SeEi
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void switchWithComputation() {
|
||||||
|
|
||||||
|
final int i = 3;
|
||||||
|
|
||||||
|
switch(getSwitchBEdingung()) {
|
||||||
|
case i:
|
||||||
|
System.out.println("i");
|
||||||
|
break;
|
||||||
|
case i-1:
|
||||||
|
System.out.println("i-1");
|
||||||
|
default:
|
||||||
|
System.out.println("Was anderes");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void switchString() {
|
public void switchString() {
|
||||||
switch (getString()) {
|
switch (getString()) {
|
||||||
@@ -48,6 +76,22 @@ public class SwitchSyntax {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFinal() {
|
||||||
|
|
||||||
|
final int i = 1;
|
||||||
|
final int j;
|
||||||
|
j = 2;
|
||||||
|
|
||||||
|
switch(getSwitchBEdingung()) {
|
||||||
|
case i:
|
||||||
|
System.out.println("i");
|
||||||
|
case k:
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private Integer getSwitchBEdingung() {
|
private Integer getSwitchBEdingung() {
|
||||||
return new Integer(1);
|
return new Integer(1);
|
||||||
}
|
}
|
||||||
|
|||||||
15
src/org/eidecker/oca8lernen/lastminute/AlternativeMain.java
Normal file
15
src/org/eidecker/oca8lernen/lastminute/AlternativeMain.java
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
public class AlternativeMain {
|
||||||
|
|
||||||
|
public static void main(String... args) {
|
||||||
|
System.out.println("Geht auch mit varargs");
|
||||||
|
for (String arg : args) {
|
||||||
|
System.out.println(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
35
src/org/eidecker/oca8lernen/lastminute/ArrayThings.java
Normal file
35
src/org/eidecker/oca8lernen/lastminute/ArrayThings.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class ArrayThings {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void funWithArrays() {
|
||||||
|
int [][] a = {{1,2}, {1}};
|
||||||
|
System.out.println("Hallo");
|
||||||
|
|
||||||
|
String [] strings;
|
||||||
|
|
||||||
|
long [][] b = {{1,2}, {1}};
|
||||||
|
|
||||||
|
int[] ints;
|
||||||
|
long [] longs;
|
||||||
|
|
||||||
|
/* longs = (long[])ints;
|
||||||
|
|
||||||
|
a = (int[][])b;
|
||||||
|
|
||||||
|
if (a instanceof long[][])
|
||||||
|
|
||||||
|
if (strings instanceof String[])*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void someMoreFun() {
|
||||||
|
short[][][][] b2 = new short[2][3][2][2];
|
||||||
|
b2[1][1] = new short[4][4];
|
||||||
|
System.out.println(b2);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
29
src/org/eidecker/oca8lernen/lastminute/Aufgabe10.java
Normal file
29
src/org/eidecker/oca8lernen/lastminute/Aufgabe10.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
public class Aufgabe10 {
|
||||||
|
}
|
||||||
|
|
||||||
|
class Ping extends Utils {
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
Utils u = new Ping();
|
||||||
|
System.out.println(u.getInt(args[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
int getInt(String a) {
|
||||||
|
//return super.getInt(a);
|
||||||
|
return Integer.parseInt(a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Utils {
|
||||||
|
int getInt(String x) throws Exception {
|
||||||
|
return 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
interface Integer {
|
||||||
|
static int parseInt(String s) throws Exception {
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
}*/
|
||||||
29
src/org/eidecker/oca8lernen/lastminute/EnumTesting.java
Normal file
29
src/org/eidecker/oca8lernen/lastminute/EnumTesting.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import static org.eidecker.oca8lernen.lastminute.MILCH.VOLL;
|
||||||
|
|
||||||
|
enum MILCH {
|
||||||
|
VOLL(1);
|
||||||
|
|
||||||
|
private final String getValue() {
|
||||||
|
return values().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MILCH(int n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class EnumTesting {
|
||||||
|
|
||||||
|
private enum MILCH {VOLL, FETTARM, HALBFETT}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
System.out.println(VOLL);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class InterfacesDefault implements I1, I2{
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void method() {
|
||||||
|
System.out.println("Aus InterfacesDefault");
|
||||||
|
//System.out.println(s2);
|
||||||
|
//I1.super.method();
|
||||||
|
|
||||||
|
//System.out.println(I1.s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Außerhalb {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void someMethod() {
|
||||||
|
I1 i1 = new InterfacesDefault();
|
||||||
|
i1.method();
|
||||||
|
System.out.println(i1.s);
|
||||||
|
System.out.println(i1.s2);
|
||||||
|
|
||||||
|
InterfacesDefault i2 = new InterfacesDefault();
|
||||||
|
i2.method();
|
||||||
|
System.out.println(((I1) i2).s);
|
||||||
|
System.out.println(((I2) i2).s);
|
||||||
|
//System.out.println(i2.s);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
interface I1 {
|
||||||
|
|
||||||
|
String s = "Hallo";
|
||||||
|
String s2 = "Noch einer";
|
||||||
|
|
||||||
|
default void method() {
|
||||||
|
System.out.println("Aus I2");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface I2 {
|
||||||
|
|
||||||
|
String s = "Welt";
|
||||||
|
|
||||||
|
void method();
|
||||||
|
}
|
||||||
142
src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java
Normal file
142
src/org/eidecker/oca8lernen/lastminute/Kleinigkeiten.java
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ThreadFactory;
|
||||||
|
import org.eidecker.oca8lernen.lastminute.hilfspackage.KlasseInEinemAnderenPackage;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Kleinigkeiten {
|
||||||
|
|
||||||
|
// Methoden dürfen private final sein (final sinnlos)
|
||||||
|
private final String methode() {
|
||||||
|
LocalTime t1 = LocalTime.now();
|
||||||
|
LocalDate t2 = LocalDate.now();
|
||||||
|
|
||||||
|
// t1 instanceof t2;
|
||||||
|
|
||||||
|
|
||||||
|
return "Sinnlos";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIfElseDerHoelle() {
|
||||||
|
if (false)
|
||||||
|
if (false) System.out.println("0");
|
||||||
|
else System.out.println("1");
|
||||||
|
// else System.out.println("2");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void variabennamen (int i) {
|
||||||
|
// for (int i = i; )
|
||||||
|
// char c = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void removeFromArrayList() {
|
||||||
|
List<Integer> iList = new ArrayList<>();
|
||||||
|
iList.add(1);
|
||||||
|
iList.add(1);
|
||||||
|
iList.add(2);
|
||||||
|
iList.remove(new Integer(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPackagePolymorphie() {
|
||||||
|
List<Oberklasse> oberklassen = Arrays.asList(new Oberklasse(), new KlasseInEinemAnderenPackage());
|
||||||
|
for (Oberklasse ober : oberklassen) {
|
||||||
|
ober.packageMethode();
|
||||||
|
if (ober instanceof KlasseInEinemAnderenPackage) {
|
||||||
|
KlasseInEinemAnderenPackage k = (KlasseInEinemAnderenPackage) ober;
|
||||||
|
// k.packageMethode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCast() {
|
||||||
|
Oberklasse oberklasse;
|
||||||
|
KlasseInEinemAnderenPackage unterklasse = new KlasseInEinemAnderenPackage();
|
||||||
|
|
||||||
|
oberklasse = (KlasseInEinemAnderenPackage) unterklasse;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void wrapperSindImmutable() {
|
||||||
|
Integer I1 = 42;
|
||||||
|
Integer I2 = I1;
|
||||||
|
System.out.println(I1 == I2);
|
||||||
|
I1 += 1;
|
||||||
|
System.out.println(I1 == I2);
|
||||||
|
|
||||||
|
|
||||||
|
System.out.println(I1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void laengen() {
|
||||||
|
int[] a = {};
|
||||||
|
int i = a.length;
|
||||||
|
|
||||||
|
"Hallo".length();
|
||||||
|
new StringBuilder("Hallo").length();
|
||||||
|
|
||||||
|
new ArrayList<>().size();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void incrementInFor() {
|
||||||
|
|
||||||
|
int j = 0;
|
||||||
|
for (j = 0; j < 6; System.out.println("Anweisung in Schleife" + j++)) {
|
||||||
|
System.out.println(j);
|
||||||
|
if (j == 3) break;
|
||||||
|
}
|
||||||
|
System.out.println("Ende: " + j);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void schleifenvariablenSichtbarkeit() {
|
||||||
|
int[] ints = {1,2,3,4,5,6};
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
for (int i2 : ints) {
|
||||||
|
System.out.println(i + ": " + i2);
|
||||||
|
for (;i2<2;) {
|
||||||
|
System.out.println("Ganz innen " + i2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
abstract class AbstrakteKlasse {
|
||||||
|
// private abstract verboten (auch sinnlos)
|
||||||
|
/* private */ abstract void sinnloseDefinition();
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MySuperInterface extends Serializable, ThreadFactory {
|
||||||
|
default void m1() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void my();
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MyOtherSuperInterface {
|
||||||
|
default void m1() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
29
src/org/eidecker/oca8lernen/lastminute/Oberklasse.java
Normal file
29
src/org/eidecker/oca8lernen/lastminute/Oberklasse.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import org.eidecker.oca8lernen.lastminute.hilfspackage.PublicClassInEinemAnderenPackage;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Oberklasse {
|
||||||
|
|
||||||
|
static protected String feldInOberklasse;
|
||||||
|
|
||||||
|
public final void publicMethode() {
|
||||||
|
System.out.println("Public");
|
||||||
|
}
|
||||||
|
|
||||||
|
private final void privateMethode() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
PublicClassInEinemAnderenPackage publicClassInEinemAnderenPackage = new PublicClassInEinemAnderenPackage();
|
||||||
|
publicClassInEinemAnderenPackage.publicMethode();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
final void packageMethode() {
|
||||||
|
System.out.println("packageMethode in Oberklasse");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class StaticSichtbarkeit {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSichtbarkeit() {
|
||||||
|
Ober ober = new Unter();
|
||||||
|
ober.methode2(ober); // Ober, da zur Compilezeit ausgewählt (Bei Überladen würde nur die Signatur gewählt!)
|
||||||
|
|
||||||
|
System.out.println(ober.s);
|
||||||
|
|
||||||
|
String a = "";
|
||||||
|
a += "Welt";
|
||||||
|
// a -= "Welte";
|
||||||
|
String b = null;
|
||||||
|
System.out.println(b instanceof Object);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Interface {
|
||||||
|
static void methode2(Ober ober) {
|
||||||
|
System.out.println("Interface");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void methode3(Ober ober) {
|
||||||
|
System.out.println("Interface");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Ober implements Interface {
|
||||||
|
|
||||||
|
public static String s = "OberStatic";
|
||||||
|
|
||||||
|
private final void geheimeMethode() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void methode2(Ober ober) {
|
||||||
|
System.out.println("Ober");
|
||||||
|
}
|
||||||
|
|
||||||
|
void methode3(Ober ober) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Unter extends Ober {
|
||||||
|
|
||||||
|
public String s = "UnterNichtStatic";
|
||||||
|
|
||||||
|
public void geheimeMethode() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void methode2(Unter unter) {
|
||||||
|
System.out.println("Unter");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void methode2(Ober ober) {
|
||||||
|
int €¥£ = 12;
|
||||||
|
|
||||||
|
System.out.println("Ober übergeben in Unter");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
31
src/org/eidecker/oca8lernen/lastminute/castbaeume/Baum.java
Normal file
31
src/org/eidecker/oca8lernen/lastminute/castbaeume/Baum.java
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute.castbaeume;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Baum {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGraphCast() {
|
||||||
|
I i = new C();
|
||||||
|
I i2 = (C)new A();
|
||||||
|
I2 i3 = (C)new A();
|
||||||
|
I2 i4 = (C)new B();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
A
|
||||||
|
|
|
||||||
|
B-I
|
||||||
|
|
|
||||||
|
C-I2
|
||||||
|
*/
|
||||||
|
interface I {}
|
||||||
|
interface I2 {}
|
||||||
|
|
||||||
|
class A {}
|
||||||
|
|
||||||
|
class B extends A implements I {}
|
||||||
|
|
||||||
|
class C extends B implements I2 {}
|
||||||
35
src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java
Normal file
35
src/org/eidecker/oca8lernen/lastminute/castbaeume/Graph.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute.castbaeume;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class Graph {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSomeCasts() {
|
||||||
|
D f = new F();
|
||||||
|
E e;
|
||||||
|
e = (E)f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testArrayAssignment() {
|
||||||
|
D[] ds = {};
|
||||||
|
E[] es = {};
|
||||||
|
|
||||||
|
es = (E[])ds;
|
||||||
|
|
||||||
|
ds = (D[])es;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
D
|
||||||
|
|-----
|
||||||
|
| |
|
||||||
|
E F
|
||||||
|
*/
|
||||||
|
|
||||||
|
class D {}
|
||||||
|
class E extends D {}
|
||||||
|
class F extends D {}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute.hilfspackage;
|
||||||
|
|
||||||
|
import org.eidecker.oca8lernen.lastminute.Oberklasse;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class KlasseInEinemAnderenPackage extends Oberklasse {
|
||||||
|
|
||||||
|
protected String feldInOberklasse;
|
||||||
|
|
||||||
|
void privateMethode() {
|
||||||
|
try {
|
||||||
|
// anotherOne();
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void anotherOne() throws IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*void publicMethode() {
|
||||||
|
|
||||||
|
}*/
|
||||||
|
|
||||||
|
void packageMethode() {
|
||||||
|
System.out.println("packageMethode in KlasseInEinemAnderenPackage");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class AuchInEinemAnderenPackage {
|
||||||
|
|
||||||
|
public void publicMethode() {
|
||||||
|
System.out.println("Public AuchInEinemAnderenPackage");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMe() {
|
||||||
|
KlasseInEinemAnderenPackage klasseInEinemAnderenPackage = new KlasseInEinemAnderenPackage();
|
||||||
|
klasseInEinemAnderenPackage.publicMethode();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package org.eidecker.oca8lernen.lastminute.hilfspackage;
|
||||||
|
|
||||||
|
public class PublicClassInEinemAnderenPackage extends AuchInEinemAnderenPackage {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
"Hallo".concat("Test");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String s;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class NochEineSub extends PublicClassInEinemAnderenPackage {
|
||||||
|
public String s = "nicht statisch";
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
PublicClassInEinemAnderenPackage n = new NochEineSub();
|
||||||
|
System.out.println(n.s);
|
||||||
|
int k;
|
||||||
|
int j=k=3;
|
||||||
|
System.out.println(k);
|
||||||
|
System.out.println(j);
|
||||||
|
|
||||||
|
int i = Integer.MIN_VALUE;
|
||||||
|
int i2 = -i;
|
||||||
|
System.out.println(i);
|
||||||
|
System.out.println(i2);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
30
src/org/eidecker/test/OptionalAPI.java
Normal file
30
src/org/eidecker/test/OptionalAPI.java
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
package org.eidecker.test;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author seidecke.
|
||||||
|
*/
|
||||||
|
public class OptionalAPI {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOptionalMapping() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class DataHolder {
|
||||||
|
public Optional<String> value;
|
||||||
|
|
||||||
|
public DataHolder() {
|
||||||
|
value = Optional.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user