From 6bedcc2c7a314f06a431021649b450a5cce2ab07 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sat, 3 Mar 2018 19:25:11 -0700 Subject: [PATCH] Reuse NumberFormatter to reduce allocations --- .../BlastFurnaceCofferOverlay.java | 4 +++- .../client/plugins/hiscore/HiscorePanel.java | 20 +++++++++---------- .../client/plugins/xptracker/XpPanel.java | 5 +++-- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java index 0c6db7ee0f..6846060ff1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceCofferOverlay.java @@ -39,6 +39,8 @@ import net.runelite.client.ui.overlay.components.PanelComponent; class BlastFurnaceCofferOverlay extends Overlay { + private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance(); + private final Client client; private final BlastFurnacePlugin plugin; private final PanelComponent panelComponent = new PanelComponent(); @@ -69,7 +71,7 @@ class BlastFurnaceCofferOverlay extends Overlay panelComponent.getLines().add(new PanelComponent.Line( "Coffer:", - NumberFormat.getInstance().format(client.getSetting(BLAST_FURNACE_COFFER)) + " gp" + NUMBER_FORMATTER.format(client.getSetting(BLAST_FURNACE_COFFER)) + " gp" )); } return panelComponent.render(graphics, parent); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 27c270a360..29f9692bb9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -68,6 +68,8 @@ public class HiscorePanel extends PluginPanel private static final String SKILL_NAME = "SKILL_NAME"; private static final String SKILL = "SKILL"; + private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance(); + private static final HiscoreSkill[] SKILL_PANEL_ORDER = new HiscoreSkill[] { ATTACK, HITPOINTS, MINING, @@ -255,8 +257,6 @@ public class HiscorePanel extends PluginPanel return; } - NumberFormat formatter = NumberFormat.getInstance(); - String text; switch (skillName) { @@ -272,8 +272,8 @@ public class HiscorePanel extends PluginPanel result.getPrayer().getLevel() ); text = "Skill: Combat" + System.lineSeparator() - + "Exact Combat Level: " + formatter.format(combatLevel) + System.lineSeparator() - + "Experience: " + formatter.format(result.getAttack().getExperience() + + "Exact Combat Level: " + NUMBER_FORMATTER.format(combatLevel) + System.lineSeparator() + + "Experience: " + NUMBER_FORMATTER.format(result.getAttack().getExperience() + result.getStrength().getExperience() + result.getDefence().getExperience() + result.getHitpoints().getExperience() + result.getMagic().getExperience() + result.getRanged().getExperience() + result.getPrayer().getExperience()); @@ -281,28 +281,28 @@ public class HiscorePanel extends PluginPanel } case "Clue Scrolls (all)": { - String rank = (result.getClueScrollAll().getRank() == -1) ? "Unranked" : formatter.format(result.getClueScrollAll().getRank()); + String rank = (result.getClueScrollAll().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getClueScrollAll().getRank()); text = "Total Clue Scrolls Completed" + System.lineSeparator() + "Rank: " + rank; break; } case "Bounty Hunter - Rogue": { - String rank = (result.getBountyHunterRogue().getRank() == -1) ? "Unranked" : formatter.format(result.getBountyHunterRogue().getRank()); + String rank = (result.getBountyHunterRogue().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getBountyHunterRogue().getRank()); text = "Bounty Hunter - Rogue Kills" + System.lineSeparator() + "Rank: " + rank; break; } case "Bounty Hunter - Hunter": { - String rank = (result.getBountyHunterHunter().getRank() == -1) ? "Unranked" : formatter.format(result.getBountyHunterHunter().getRank()); + String rank = (result.getBountyHunterHunter().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getBountyHunterHunter().getRank()); text = "Bounty Hunter - Hunter Kills" + System.lineSeparator() + "Rank: " + rank; break; } case "Last Man Standing": { - String rank = (result.getLastManStanding().getRank() == -1) ? "Unranked" : formatter.format(result.getLastManStanding().getRank()); + String rank = (result.getLastManStanding().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getLastManStanding().getRank()); text = "Last Man Standing" + System.lineSeparator() + "Rank: " + rank; break; @@ -310,8 +310,8 @@ public class HiscorePanel extends PluginPanel default: { Skill requestedSkill = result.getSkill(skill); - String rank = (requestedSkill.getRank() == -1) ? "Unranked" : formatter.format(requestedSkill.getRank()); - String exp = (requestedSkill.getRank() == -1) ? "Unranked" : formatter.format(requestedSkill.getExperience()); + String rank = (requestedSkill.getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(requestedSkill.getRank()); + String exp = (requestedSkill.getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(requestedSkill.getExperience()); text = "Skill: " + skillName + System.lineSeparator() + "Rank: " + rank + System.lineSeparator() + "Experience: " + exp; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java index 90dd3530a6..86bf6c43a4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java @@ -45,6 +45,8 @@ import net.runelite.client.ui.PluginPanel; @Slf4j class XpPanel extends PluginPanel { + private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance(); + private final Map infoBoxes = new HashMap<>(); private final JLabel totalXpGained = new JLabel(); private final JLabel totalXpHr = new JLabel(); @@ -139,7 +141,6 @@ class XpPanel extends PluginPanel static String formatLine(double number, String description) { - - return NumberFormat.getInstance().format(number) + " " + description; + return NUMBER_FORMATTER.format(number) + " " + description; } }