SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Eclipse workshop
Jan. 2014
• Miguel Pardal
– LEIC 2000
– Lecturer at Técnico Lisboa
– PhD Student
– http://web.tecnico.ulisboa.pt/miguel.pardal

– Eclipse user since 2005
– Conditional fan 
Goal
•
•
•
•

Learn the good
Avoid the bad
Become a better developer
Enjoy life!
Outline
• Introduction
– Concepts
– Techniques

• Hands-on
History
• Eclipse started out as proprietary technology
– Object Technology International (OTI)
– IBM’s goals:
• Reduce incompatible environments
• Increase reuse of common components

• Evolved from IBM VisualAge for
Smalltalk™ and for Java™
– Monolithic

http://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F
History
• The Eclipse open source project was announced in November
2001 by a group of companies that formed the initial Eclipse
Consortium
– Eclipse Foundation since 2004

• Commercial-friendly open source license
– Wider audience and ecosystem

• Eclipse was designed from the ground up as an integration
platform for development tools
–
–
–
–

Everything in Eclipse is a plug-in
Uses SWT to bind to local platform GUI
OSGi component model since 3.0
Annual Simultaneous Release (…, Indigo, Juno, Kepler, …)
Install
• Download
• Unzip
• Run
• All configurations are file-based
– workspace folder
• Settings
• Projects

– Project metadata files
• .project
• .classpath
CONCEPTS
Workbench
• Eclipse’s main window
– Menus and toolbars
– Views, editors, perspectives
View
• A view is a window that lets you examine
something
– Navigate a list or hierarchy of information
– Display properties for the active editor

• Modifications made in a view are saved
immediately.
Editor
• Editors are used to edit or browse a
resource
– Rectangular area in the Workbench window
– Visual presentation might be text or a
diagram.
– Editors are launched by clicking on a resource
in a view
– Modifications made in an editor follow an
open-save-close lifecycle model
• * indicates unsaved data
Perspective
• A perspective is a set of views, editors, and
toolbars, along with their arrangement within the
Workbench window.
• As you perform a task, you may rearrange windows,
new views, and so on.
– Saved under the current perspective.
– Next time, switch to perspective
– Within a window, each perspective may have a
different set of views but all perspectives share
the same set of editors.
• Built-in Java or Debug perspectives
Java Project
Project properties
Project properties
Auto-complete
• From the current context – project, class,
method, etc – what could complete this?
– CTRL+space
Auto-build
• Compilation is automatic in Eclipse
• Blessing
– Sting s = “Eclipse”;

• Curse
– String s = “Ecli
TECHNIQUES
Factoring
• Create the application domain
• Create class
– Members
– Methods

• Generate methods
– Getters Setters
– toString
Create
Create class
Source menu
Testing
• JUnit Class
• JUnit View
Refactoring
• Refactoring is a process of software source code
transformation
– Should be performed when the code is working and
all of its tests are passing
– Does not involve rewriting or replacing large chunks
of code.
– Gradual, evolutionary process, intended to “preserve
the knowledge embedded in the existing code.”

• Examples
– Rename
– Extract method
Refactor menu
Quick fix errors
Quick fix warnings
Implicit class
– Write code as if the class already exists
• Write code referring to non-existing classes

– Use quick-fix to generate class
But beware…
• Quick-fix can become “quick-bug”
• Example
– Try-catch and ignore
• Worst solution

– Try-catch, print and continue
• As if nothing has happened… but it did!

– Think it through:
• Handle exception (try-catch)
• Or let someone else do it (throws)
Conclusions
• Very useful tool
• Can increase productivity
– Code formatting
– Especially in refactoring

• But…
– Does NOT replace critical thought and design
– Can increase the production… of bugs!
Looking ahead…

• Questions?
– Concepts
– Techniques

Miguel.Pardal@tecnico.ulisboa.pt

Thank you

Obrigado
Shortcuts

Top 10
10. Shortcut to shortcuts
• Ctrl+Shift+L to see a full list of the
currently available key bindings
9. Open file / type
• Open file quickly without browsing:
Ctrl + Shift + R
• Open a type (class / interface):
Ctrl + Shift + T
8. Show properties
• Select project
Alt+Enter
• Select type/resource
Alt+Enter
7. Maximize editor
• Maximizes current editor
Ctrl + M
• You can also double-click editor tab
6. Editor navigation
•

Jump to beginning / end of indention. Twice to jump to beginning of line
– Home/End

•

Jump to beginning / jump to end of source
– Ctrl+Home/End

•

Jump one word to the left / one word to the right
– Ctrl+Arrow Right/Arrow Left

•

Jump to previous / jump to next method
– Ctrl+Shift+Arrow Down/Arrow Up

•

Jump to next / jump to previous compiler syntax warning or error
– Ctrl+./Ctrl+,

•

Jump to last location edited
– Ctrl+q

•

Jump to Line Number
– Ctrl+l

•

Hide/show line numbers
– Ctrl+F10 and select 'Show Line Numbers'
5. Outline view
• Quickly go to class member
Ctrl + O
4. Code formatting
• Ctrl + Shift + F for code formatting
• Ctrl + / for commenting, un commenting
lines and blocks
3. Organize imports
• Organize imports
Ctrl+Shift+O
• Go from:
– import java.util.*

• To:
– import java.util.Map;
– import java.util.Iterator;
2. Print line
• syso Ctrl+space
• syse Ctrl+space
1. Guess Exception
• throw new NPE Ctrl+space
– NullPointerException

• throw new IAE Ctrl+space
– IllegalArgumentException

Contenu connexe

Similaire à Eclipse workshop presentation

Similaire à Eclipse workshop presentation (20)

Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)Eclipse workshop presentation (March 2016)
Eclipse workshop presentation (March 2016)
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
Professionalizing the Front-end
Professionalizing the Front-endProfessionalizing the Front-end
Professionalizing the Front-end
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol developmentAccelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol development
 
Next Step, Android Studio!
Next Step, Android Studio!Next Step, Android Studio!
Next Step, Android Studio!
 
An introduction to Eclipse Mylyn
An introduction to Eclipse MylynAn introduction to Eclipse Mylyn
An introduction to Eclipse Mylyn
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentation
 
Image Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadImage Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPad
 
The Developers World
The Developers WorldThe Developers World
The Developers World
 
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationQuerix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific Workflows
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
 
Accelerating time to delivery - Modern tools for COBOL development
Accelerating time to delivery - Modern tools for COBOL developmentAccelerating time to delivery - Modern tools for COBOL development
Accelerating time to delivery - Modern tools for COBOL development
 
Programming using C++ - slides.pptx
Programming using C++ - slides.pptxProgramming using C++ - slides.pptx
Programming using C++ - slides.pptx
 
Ios-training-institute-in-mumbai
Ios-training-institute-in-mumbaiIos-training-institute-in-mumbai
Ios-training-institute-in-mumbai
 
object oriented programming examples
object oriented programming examplesobject oriented programming examples
object oriented programming examples
 
01 introduction to cpp
01   introduction to cpp01   introduction to cpp
01 introduction to cpp
 
Ios-training-institute-in-mumbai
Ios-training-institute-in-mumbaiIos-training-institute-in-mumbai
Ios-training-institute-in-mumbai
 

Plus de Miguel Pardal

Vulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer SecurityVulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer Security
Miguel Pardal
 
Expressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chainExpressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chain
Miguel Pardal
 
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Miguel Pardal
 

Plus de Miguel Pardal (20)

Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023
 
Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019
 
SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)
 
Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018
 
IoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fieldsIoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fields
 
Rastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) CoisasRastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) Coisas
 
Vulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer SecurityVulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer Security
 
Master Beginners
Master BeginnersMaster Beginners
Master Beginners
 
Arranque Seguro de Redes 6LoWPAN para prevenir Ataques Vampiro na Internet da...
Arranque Seguro de Redes 6LoWPAN para prevenir Ataques Vampiro na Internet da...Arranque Seguro de Redes 6LoWPAN para prevenir Ataques Vampiro na Internet da...
Arranque Seguro de Redes 6LoWPAN para prevenir Ataques Vampiro na Internet da...
 
Precision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of ThingsPrecision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of Things
 
Smart Places INForum16 presentation
Smart Places INForum16 presentationSmart Places INForum16 presentation
Smart Places INForum16 presentation
 
LaTeX workshop (NEB)
LaTeX workshop (NEB)LaTeX workshop (NEB)
LaTeX workshop (NEB)
 
Thesis for beginners 2015-10
Thesis for beginners 2015-10Thesis for beginners 2015-10
Thesis for beginners 2015-10
 
LaTeX workshop (JEQ)
LaTeX workshop (JEQ)LaTeX workshop (JEQ)
LaTeX workshop (JEQ)
 
Thesis for beginners
Thesis for beginnersThesis for beginners
Thesis for beginners
 
Scalable and secure RFID data discovery
Scalable and secure RFID data discoveryScalable and secure RFID data discovery
Scalable and secure RFID data discovery
 
Breve introdução à investigação
Breve introdução à investigaçãoBreve introdução à investigação
Breve introdução à investigação
 
BEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things classBEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things class
 
Expressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chainExpressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chain
 
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Eclipse workshop presentation

  • 2. • Miguel Pardal – LEIC 2000 – Lecturer at Técnico Lisboa – PhD Student – http://web.tecnico.ulisboa.pt/miguel.pardal – Eclipse user since 2005 – Conditional fan 
  • 3. Goal • • • • Learn the good Avoid the bad Become a better developer Enjoy life!
  • 5. History • Eclipse started out as proprietary technology – Object Technology International (OTI) – IBM’s goals: • Reduce incompatible environments • Increase reuse of common components • Evolved from IBM VisualAge for Smalltalk™ and for Java™ – Monolithic http://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F
  • 6. History • The Eclipse open source project was announced in November 2001 by a group of companies that formed the initial Eclipse Consortium – Eclipse Foundation since 2004 • Commercial-friendly open source license – Wider audience and ecosystem • Eclipse was designed from the ground up as an integration platform for development tools – – – – Everything in Eclipse is a plug-in Uses SWT to bind to local platform GUI OSGi component model since 3.0 Annual Simultaneous Release (…, Indigo, Juno, Kepler, …)
  • 7. Install • Download • Unzip • Run • All configurations are file-based – workspace folder • Settings • Projects – Project metadata files • .project • .classpath
  • 9. Workbench • Eclipse’s main window – Menus and toolbars – Views, editors, perspectives
  • 10. View • A view is a window that lets you examine something – Navigate a list or hierarchy of information – Display properties for the active editor • Modifications made in a view are saved immediately.
  • 11. Editor • Editors are used to edit or browse a resource – Rectangular area in the Workbench window – Visual presentation might be text or a diagram. – Editors are launched by clicking on a resource in a view – Modifications made in an editor follow an open-save-close lifecycle model • * indicates unsaved data
  • 12.
  • 13. Perspective • A perspective is a set of views, editors, and toolbars, along with their arrangement within the Workbench window. • As you perform a task, you may rearrange windows, new views, and so on. – Saved under the current perspective. – Next time, switch to perspective – Within a window, each perspective may have a different set of views but all perspectives share the same set of editors. • Built-in Java or Debug perspectives
  • 14.
  • 15.
  • 19. Auto-complete • From the current context – project, class, method, etc – what could complete this? – CTRL+space
  • 20. Auto-build • Compilation is automatic in Eclipse • Blessing – Sting s = “Eclipse”; • Curse – String s = “Ecli
  • 22. Factoring • Create the application domain • Create class – Members – Methods • Generate methods – Getters Setters – toString
  • 27. Refactoring • Refactoring is a process of software source code transformation – Should be performed when the code is working and all of its tests are passing – Does not involve rewriting or replacing large chunks of code. – Gradual, evolutionary process, intended to “preserve the knowledge embedded in the existing code.” • Examples – Rename – Extract method
  • 31. Implicit class – Write code as if the class already exists • Write code referring to non-existing classes – Use quick-fix to generate class
  • 32. But beware… • Quick-fix can become “quick-bug” • Example – Try-catch and ignore • Worst solution – Try-catch, print and continue • As if nothing has happened… but it did! – Think it through: • Handle exception (try-catch) • Or let someone else do it (throws)
  • 33. Conclusions • Very useful tool • Can increase productivity – Code formatting – Especially in refactoring • But… – Does NOT replace critical thought and design – Can increase the production… of bugs!
  • 34. Looking ahead… • Questions? – Concepts – Techniques Miguel.Pardal@tecnico.ulisboa.pt Thank you Obrigado
  • 36. 10. Shortcut to shortcuts • Ctrl+Shift+L to see a full list of the currently available key bindings
  • 37. 9. Open file / type • Open file quickly without browsing: Ctrl + Shift + R • Open a type (class / interface): Ctrl + Shift + T
  • 38. 8. Show properties • Select project Alt+Enter • Select type/resource Alt+Enter
  • 39. 7. Maximize editor • Maximizes current editor Ctrl + M • You can also double-click editor tab
  • 40. 6. Editor navigation • Jump to beginning / end of indention. Twice to jump to beginning of line – Home/End • Jump to beginning / jump to end of source – Ctrl+Home/End • Jump one word to the left / one word to the right – Ctrl+Arrow Right/Arrow Left • Jump to previous / jump to next method – Ctrl+Shift+Arrow Down/Arrow Up • Jump to next / jump to previous compiler syntax warning or error – Ctrl+./Ctrl+, • Jump to last location edited – Ctrl+q • Jump to Line Number – Ctrl+l • Hide/show line numbers – Ctrl+F10 and select 'Show Line Numbers'
  • 41. 5. Outline view • Quickly go to class member Ctrl + O
  • 42. 4. Code formatting • Ctrl + Shift + F for code formatting • Ctrl + / for commenting, un commenting lines and blocks
  • 43. 3. Organize imports • Organize imports Ctrl+Shift+O • Go from: – import java.util.* • To: – import java.util.Map; – import java.util.Iterator;
  • 44. 2. Print line • syso Ctrl+space • syse Ctrl+space
  • 45. 1. Guess Exception • throw new NPE Ctrl+space – NullPointerException • throw new IAE Ctrl+space – IllegalArgumentException